Call:

A Call is self-explanatory however they are 2 types of call . Audio Calls and Video Calls . In order to be able to exchange with a call , both Users have to be Relaters and no User must have blocked the other . In case the User who is called is busy , the calling User will directly be forwarded to the main View .

Contact:

This is one of the base concepts of the App . A User doesn’t define himself as a contact or not , there is nothing he can do to become one or prevent from becoming one . It is how others see/consider him . Basically , a User U1 is registered , publishes and interacts with others . A User U2 who doesn't know user U1 , doesn't have any view on what user U1 does besides having a look at user U1 profile (or for example watch of one his Partakes. If User U2 is interested in what U1 does , wants to be updated and potentially wants to interact with User U1, U2 will make U1 a Contact . U1 is not aware if he is a Contact for U2 or not . Using other app logic ,U2 follows U1 . It would be possible to know how many U2 has contacts but it is not possible to know how many Users follow U1 (no follower concept). This is supposed to increase App Horizontality (a lot of interactions , not or person followed by millions) . Any user can have other Users and Groups as Contact .
Having User U1 or Group G1 as contact is generally the first step to possible interaction .

To be able to fully interact with a User, this User has to be a Relater. If the contact relation is not symmetrical (user U2 can have user U1 has a contact and U1 not even know about it) ,the relater relation is symmetrical meaning that for U1 to be a Relater for U2 ,U1 needs to be a Relater for U2 . The relation exists both ways or doesn’t exist at all . It is important to notice that once users are Relaters,each User is automatically a Contact for each other . Removing a Contact (or deleting the relater relation) will automatically destroy the relater on the other side . However , if the relater relation is destroyed , the other side will still keep the main user as a Contact .

To be a member of a Group will all interactions related possible , it is mandatory to have this Group as Contact first (which allows the User to “follow” news). For users to become Relaters, at some point , one of them has to send a Relater Request. For users to be part of a Group, he can either join it directly if the Group is open or if the Group is closed , or he will have to either create a Group Membership Request or receive a Group Membership Offer.

Having a relater relation is mandatory and enough to be able to exchange Messages or to Call as long as nobody is blocked . It is mandatory but not enough to play games or to challenge someone . If the main user accept Games or accept Challenges ,such interaction can take place as long a Challenge Offer is sent and main user accepts it .

Contact Offer:

When a Relater wants to make you aware of a specific User, he may send you a Contact Offer . By accepting it ou will either add the offered Contact to your contact list and retrieve all Labels that were associated to this Contact by the offer sender or you will just add the relevant Labels to the Contact .

Challenge:

Challenges are also meant to increase interactions between users . Each User can create a challenge based on several parameters . Among others, if the challenge is about creating a picture or a video , if effects of various types are mandatory or not …
Once a challenge is created , it is visible to others and any user U1 is free to send a Challenge Offer based on the chosen Challenge, as long as the User who is challenged is a Relater with user U1 and that he accepts being challenged .
It is important to notice that it is impossible for any user to create a Partake on his own .A user must interact with him in order to give him the possibility to do so… Challenges can be trending and is motivating for the user who created it .Challenge’s popularity can be measured by the number of linked Partakes .

Challenge Offer:

A Challenge is meant to serve , people are meant to create Partakes based on it . To do so , no User can decide to create an element according to the Challenge ‘s rules . Once more , there has to be an interaction between Users . U1 must send U2 a Challenge Offer which is basically an “invitation” to participate in this Challenge and create an element . Once U1 has sent a Challenge Offer , he can not cancel it anymore, and it will remain valid until the User who received it either accepts or decline it . This is the case for Multi Media Challenge Offer . Technically , to play a Game , a Challenge Offer also has to be sent .
However , those offers are different . They last about one minute maximum and the User who received has what he is doing in the App interrupted and must either decline or accept the offer straight away (he can not postpone things like for a Multi Media Challenge Offer since Games have to be played in real Time).

Comment:

A Comment is linked to a Relate . User can decide if he wants his Relate to be commented or not by first parameterising as he decides for all Relates he creates but also by deciding case by case for each Relate. Any User sets up in his parameters if his comments are visible only 24 hours or should remain visible as long as the Relate is .

Diffusion:

A Diffusion is an element meant to help increasing / improving exchanges . The idea is to send the same Message to several Relaters at a time . Diffusions can be created with a theme in mind or just because the User tends to interact more with certain people who don’t necessary know each other , hence can not be informed within a group.

A Diffusion just has a name and a Profile picture . What really defines a Diffusion are the Relat Users present in it . Since a Message will be sent to each User inside this list , each member must have a Relaters relation with the main User . When a Relaters relation is destroyed, the corresponding User is removed from all Diffusions the was in .

Game:

Games in Relat can not be played alone and are meant to be another way of interacting . They are played remotely with two players , each player being a User of Relat and both layers being Relaters .
The process to start a Game is the following . User1 chooses a Game and can send a Challenge Offer to any of his Relaters as long as the other user considers Game Challenge Offer (is interested in playing) . Upon doing so , User1 waits for User 2 answer . If he is OK for playing , they both will start doing so . Games scores are saved and are used to create leaderboards .

Group:

Group nature is at the same time self-explanatory but also comes with some twists . A Group must at least have one Member and one Admin . When a User creates a Group he becomes de facto an Admin of this Group . Groups are of 2 types : Open and closed . Groups have mostly 2 purposes : They serve for Message exchange but also as a hub where Users can create Relates . To this extent, Groups behave like Users and each time a Group is created , there is the Relat User equivalent which is also created . Groups can not however create Challenges, Partakes and several other features are limited to non Group Users .
Open and closed Groups offer the same possibilities, however the possibilities offered to each member of the Group depend on the role of the member and the Group nature .

To enter an open Group, a User must first add this Group as a Contact and then join it . He can also accept Group Membership Offer sent by another Group Member . To enter a closed Group, User can either first add the Group as a Contact and then send a Group Membership Request . If he is accepted by an Admin , the User becomes a member of the Group. Admins can remove any User from the Group (but Admins) .
He also , like for an open Group accept a Group Membership Offer sent by another Group Member . Once a user is an Admin , he can send a Group Admin Request and will eventually become one if an Admin accepts .

Open and closed Groups have the same functionalities but the members don’t have the same possibilities if the group is closed or open . Users communicate the same way inside a closed or open group but Relates in the name of the Group . In an open Group , every User can create or delete /Relates/ while in a closed Group , only admins can create and delete Relates .

Group Admin Request:

Any Group must have at least one Admin and one Member so when there is only a single Admin in the Group , he can not leave the Group and resign as an Admin .
When a member of a Group wants to become an Admin , he must send a Group Admin Request . He will become an Admin if one of the already existing admin accepts him .

Group Membership Offer:

For both open and closed Groups any member of this Group can invite any User to be part of this very Group by sending him a Group Membership Offer . If the Group is open , any User can enter the Group by themselves . If the Group is closed accepting a Group Membership Offer is the only way to enter the Group along with sending a Group Membership Request and have it accepted .

Group Membership Request:

When a Group is closed , if a User wants to join , he either has to check if he didn’t receive any Group Membership Offer for this Group and then accept it, or he must simply send a Group Membership Requests .

Label:

Relat offers its Users to search through their Contacts an easy and efficient way . the same User can be a Contact for various Users but each User would see and consider him a different way . To do so , among others , we allow Users to qualify any Contact he has with words - Labels - that either describes the Contact or the interests the Contact has . Labels will help the App rationalizing list and offer suitable interactions to the User for each Element .

Message:

A message is a multimedia element (Text,Audio,Photo,Video) that is private and can not be seen by all Users . It is meant to be seen even by the single Relater it was sent to or by all members of the Group it was created in . Under certain conditions, it is possible to transform this Message to a Relate and to make it this way public . Under certain conditions, messages can be forwarded to other Users .

Notification:

Notifications can be parameterized in order for the User to get the right amount of updates . So far , notifications are only internal inside the App and no Pop up notifications are possible . However , internal Notifications are potentially very numerous , Pop up notifications would need to be more parse , like only for Calls , Relates ...

Partake:

When a User has been challenged for a MultiMedia Challenge ,accepted and created an element , the created element which is the USer’s version of the relevant Challenge is called a Partake . Once a Partake is available, it can be forwarded to other Users (Partake Share) in order to increase its visibility . Opposite to Relates , it is possible for any User to express his feeling about the Partake with an Enjoy . The more enjoys the Partake receives , the more popular it is .

Partake Share:

Partakes can be popular or not . Some may have missed something interesting . To make Relaters aware of something, any User can send them a Partake Share which is basically a link to the created Partake .

Relate:

This is the base publicly shared element of the App . A Relate is public and any User can see it , no matter if they have the Relate creator as a Contact ,as a Relater or there is no connection between both users, user U2 will still be able to see the Relate . According to parameters, Relate can be visible only 24 hours or without any time limit . According to parameters, Relate can be commented on or not .Given the case, Relate can be transformed to a Message by any user . Relate can be created by a User or created in a name of a Group .
The owner of the Relate can decide to allow other users to comment his Relate or not . Relates can be bookmarked by anyone but only the owner of the Relate can make it a profile element of his own .

Relater:

The relater concept doesn’t define itself without mentioning a second user .User1 can be a Relater for User2 or not but if User1 is a Relater for User2 , User2 is a Relater for User1 . The Relater connection is Symmetrical ,opposite to the Contact relation . If User1 is a Relater for User2 , User1 is also a Contact for User2 while being a Contact doesn't imply at all being a Relater . Since the relation is symmetrical , if User1 removes User2 as a Relater , User1 is also removed from User2 relaters list .
The Relater link is the base relation between Users, basically meaning that Users know , trust each others and are willing to interact . It is mandatory to be Relaters to exchange Calls , Challenges , Games ...

Relater Request:

If User1 wants to interact with User2 , he must be a Relater for User2 (and User2 must be a Relater for him) . If he wants to engage the process, User1 must first add User2 as a Contact and then ask User2 if he wants to interact with Him , that is ,send the User a Relater Request . If this request gets accepted , they ‘ll have a Relater link .

Relat User:

A RelatUser is a User of the App . It can be a real person or a Group . The Relat User is defined by several elements, among others by its ID.