Social

This document will help you understand and use the social features of the novem platform

Overview

Novem offers a basic set of social features to help you connect with and stay up to date on other novem users.

The primary purpose of the social features is to populate the feed, the primary discoverability feature of the novem platform.

You primarily manage the social features under the /admin/social endpoints with feed entries showing up under the top level /feed endpoint.

Below is an overview of the API endpoints associated with the social features.

 ├── admin
 │   ├── invites
 │   │   └── @eve
 │   │       └── accept
 │   └── social
 │       ├── connections
 │       │   ├── alice
 │       │   └── bob
 │       ├── followers
 │       │   └── charlie
 │       ├── following
 │       │   ├── charlie
 │       │   └── mike
 │       └── ignore
 │           └── dave
 └── feed
     ├── @charlie~plot~daily_weather
     ├── @charlie~plot~email_use
     ├── @mike~mail~px_report
     └── @mike~plot~power_prices

Feed

The feed is the primary discoverability feature at novem and is curated for you by the platform. Whilst the exact algorithm is not disclosed and changes often, the primary input to your feed is content produced by other users in your network.

The feed is accessible at the top level of the api under the /feed end point and contains a list of links of the following format: @username~vis_type~vis_name. The entities link to the respective vis by the user.

You will only find one reference to a specific vis in your feed, but the vis can move up or down in your feed if it gets updated or other relevance scores change.

When viewing a user you can find that users chronological feed under the feed endpoint. e.g. /users/<username>/feed.

└── users
    └── <username>
        └── feed
            ├── @example~mail~test_mail
            ├── @example~plot~test_plot_1
            └── @example~plot~test_plot_2

User feeds are always chronological and can be thought of as an activity feed.

Your network

Your network on novem is made up of 3 classes of connections:

  • Users that you are connected with
  • Users that you follow
  • Users that you share a group or organisation membership with

In addition your extended network can consist of 2nd and 3rd degree connections as well as be inspired by things you have liked or favourited.

Publishing

By default, all assets produced on the novem platform that a user can access through the default permission structure (public or shared via group) is eligible for inclusion in feed.

To prevent your shared visualisations from being included in another users feed (either because it’s not ready, or you don’t want it to) you can tag it with wip.

A user will never see a visualisation in their feed that they don’t have access to, so private assets are always private.

Relationships

Novem offers two primary social constructs, a way to connect with and a way to follow other users. The connection is an invitation that has to be accepted by the other user, whereas the follow is a one-way action.

Connections and follows does not grant any additional access or other features at this moment, but might be expanded in the future.

To see the information from a user the user will have to make that information public or share it with a group that you both are a member of.

Connections

Connections is the highest order of 1:1 relationships offered by novem.

A connection has to be accepted on both sides and who your connections are will show up on your public profile. (People with private profiles will not show up unless they have a strong connection with the person viewing your profile).

To make a new connection simply PUT the username you want to connect with to the connection group

PUT
/admin/social/connections/<username>

Once you have initiated a connection the user will get an invitation to connect which they will have to approve by posting a positive value to the invitation.

POST
/admin/invites/@<your_username>/accept
Yes

Until a user accepts your invitation to connect the user will show up in the list of your connections with an I- (capital I dash) prefix. (Examples below)

 └── admin
     └── social
         └── connections
             ├── I-alice
             ├── bob
             └── eve

You can at any point remove your connection with a user by issuing a DELETE against an existing user invite or endpoint.

DELETE
/admin/social/connections/<username>

Following

Unlike connecting, follow is a lighter touch, one-way action. You may follow or un-follow anyone you want at any time. In addition, following someone does not require their approval, and as such no invite or acceptance is required.

Managing who you follow is very similar to managing your connections, you use PUT to follow and DELETE to un-follow.

PUT
/admin/social/following/<username>
DELETE
/admin/social/following/<username>

Followers

Followers is a list of people following you and is provided for informational purposes only. We don’t currently support the ability for you to remove your followers or moderate the list in any way.

Your followers don’t interact with you in any way beyond having access to your public assets in their feed.

Ignore

Ignore lets you manage a list of users you do not want to relate to. When a user is in the ignore list you will not receive invites, messages, notifications or see other information left by the user.

Ignored users will also never show up in your feed.

You manage your ignore list very similar to your following list, simply PUT to add a user and DELETE to remove a user from your ignore list.

PUT
/admin/social/ignore/<username>
DELETE
/admin/social/ignore/<username>

Interaction

Currently there are two ways that you can interact with other users published visualisations. You can either like or favourite them.

This is done using the novem tag functionality and behaves just as normal tags. The only difference is that aggregate like and favourite statistics are reported on various visualisations.

To like or favourite a visualisation just follow the instructions in the tags documentation.

Hide

If you see anything in the feed you do not want to see again, you can also ignore it by tagging it with the ignore tag.