Git Product home page Git Product logo

joystream-org's Introduction

Joystream Website

Installation

To install all local dependencies located in package.json use:

yarn

Website

  1. ENVs

To populate project with environment variables create files .env.development for local development and .env.production for final build.

  1. Local development
yarn start

Local server will start on http://localhost:8000/

  1. Build

To build Gatsby project run:

yarn build

After the process is complete, production files will be located in the public folder located in the root of the project.

Branding

Assets

All Branding assets are available in joystream design repository. In case any of them changes, a script should be ran to include changes on the joystream branding page, and any changes introduced by it should be commited and deployed.

Assets refresh script:

yarn fetch-assets-data

Roadmap data

Roadmap data can be found in the following file(s): src/data/quarters/${roadmap-data-name}.json

To update the data, just directly edit the file you want to change the data for.

To add a new version of the roadmap, you can follow these steps:

  • Add new file in the aforementioned folder (e.g., src/data/quarters/2024-2025.json)
  • The roadmap file should follow this structure:
    •   [{
            "language",
            "quarters": [{
              "year",
              "id",
              "deliveryMilestones": [{
                "icon",
                "title",
                "Content"
              }]
            }]
          }]
    • In case of doubts and to also get a better idea for how this data should look exactly, you can consult one of the roadmap files that are already there.
    • As for the "icon" values, these values represent icons that can be found in the assets of the project. More specifically, for the map of "key" (i.e., in this case the icon string value) to the "value" (i.e., the icon itself) you can consult the iconMap object in the following file: src/data/quarters/index.js.
  • As the final step, the exported array within the src/data/quarters/index.js file needs to be expanded with an object following this structure: { "select": { "title", "subtitle" }, "name", "value", "isNewest" }
    • Note: Only one object should have the "isNewest" property set to true.

Glossary data

Glossary data can be found in the following file: src/data/glossary/glossary.json

When updating the glossary or adding new terms to it, this structure should be followed:

  [{
    "language":
    "terms": [{
      "title",
      "tooltip",
      "content",
      "nodes": [{
        "title",
        "content": [""]
      }],
      "others": [{
        "title",
        "subtitle",
        "content": [""]
      }],
      "relatedTerms": [""]
    }]
  }]

Important note: The glossary is automatically populated into the roadmap at runtime. The way this is done is that the term title is checked for in the content of a roadmap item and replaced with an underlined item with a tooltip. It is therefore important to make sure that the spelling of each title term is correct.

Verification data

Verification data can be found in the following file: src/data/pages/verification.js.

Within this file is an array with the name of verifiedMembers. To add new members one needs to expand the array with an object of the following structure:

{
  memberHandle: 'vikan#4315',
  substituteUserRoute: 'vikan',
  avatarUrl: 'https://raw.githubusercontent.com/Joystream/founding-members/main/avatars/primary-avatar/90.png',
  title: 'verification.title.outreachSpecialist',
  socials: {
    telegram: '@vikan393',
    twitter: '@jvikan1',
    email: '[email protected]',
    discord: '@v.i.k.a.n',
  },
  safety: {
    notAllowed: [
      { text: 'verification.safety.willNever.items.askForMoney' },
      { text: 'verification.safety.willNever.items.askForPasswordsOrSensitiveInformation' },
      { text: 'verification.safety.willNever.items.sendAnythingDangerous' },
      {
        text: 'verification.safety.willNever.items.askToVisitLinks',
        components: [{ link: 'https://www.joystream.org', text: 'Joystream.org' }],
      },
    ],
    allowed: [{ text: 'verification.safety.can.items.inviteToYpp' }],
  },
},

To edit members, one just needs to update the objects that are already there to the new desired values.

Things to keep note of:

  • The verification page will use the memberHandle object property value as the route on the website for this specific profile. If that value is not a valid path value then the substituteUserRoute value is used instead. This should be removed when not in use.
  • The safety list items and title have special strings as text (e.g., verification.title.outreachSpecialist). These strings are used to allow for internationalization and are replaced based off of the language set by the user with correct translations. To reference those that are already pre-written/available, you can find the translations for this page on here: src/locales/en/verification.json under safety.can... and safety.willNever.... If there isn't a translation that matches one that you want to add, you are free to create one with regular english language sentences and these translations will be created by the dev during the PR process.

This section outlines the steps to control the visibility of the "History" section on the dashboard page.

Functionality:

  • toggling the historyHidden flag, located in /pages/dashboard/index.js, controls the visibility of the "History" section on the dashboard;
  • when the flag is set to true, the section is hidden, and the corresponding "History" anchor is removed from the navigation;
  • conversely, setting the flag to false displays the section and adds the "History" anchor back to the navigation.

This section details the process of populating the "History" section on the dashboard page with data retrieved from an API.

Data Parsing:

  • DashboardHistory component expects data to be passed through the data prop;
  • create a dedicated utility function within src/components/dashboard-page/History/data.js to handle API data parsing;
  • this function should transform the raw API response into an array of objects structured as follows:
    • img - URL of the image associated with the history entry;
    • date - Date of the history entry;
    • shortDescr - Short description of the history entry;
    • longDescr - Optional longer description of the history entry;
  • import the parsing function into src/components/dashboard-page/History/data.js;
  • pass the fetched API data as an argument to the parsing function.

The function will return the processed data in the required format.


joystream-org's People

Contributors

beczi avatar bedeho avatar blrhc avatar bwhm avatar chrlschwb avatar dependabot[bot] avatar digitalimplementer avatar dmtrjsg avatar dzhelezov avatar dzhidex avatar freakstatic avatar goldstarhigher avatar katerina510 avatar kdembler avatar kosorz avatar maciejmatu avatar mhase avatar mnaamani avatar mochet avatar oignt avatar oleksanderkorn avatar postpuber avatar singulart avatar traumschule avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

joystream-org's Issues

Founding Members Website Design Brief

Background

Document Purpose

For design of changes to the Joystream project website for the a new community program, called the founding members program.

Founding Members Program

Is explained fully here

Joystream/joystream#1705

Resources

  1. Program Illustration: https://www.figma.com/file/zBngQi983MEclpBcUpwqGl/Joystream-Network-Logos-and-Assets?node-id=272%3A624
  2. Avatars: https://www.figma.com/file/zBngQi983MEclpBcUpwqGl/?node-id=272%3A1083
  3. Joystream Branding: https://www.joystream.org/brand/guides

Goal

The high level goals for the design project are as follows

  1. New Program Page: A top level page explaining the program and its current state (perhaps make two pages)
  2. Update Main Landing page: Some how integrate the program into the main page in order to draw peoples attention to it
  3. Update Token Page: Update existing token page https://www.joystream.org/token
  4. New Scoring Period Form (if time!): Form for members to submit scores.

New Program Page

A standalone page, integrated into the top site menu, describing the program its current state. It should cover, but not necessarily in this order, the following

  • What the program is and why it exists.
  • Benefits of becoming a founding member.
  • How to become part of it. Here we have to prominently show that certain countries are excluded, for example using flags or something.
  • List of current founding members. For each one we should show their membership handle, their avatar, when they were inducted, direct score, referral score and list of other founding members they have recruited, and the founding member who recruited them. The initial list is likely to be less than 10. Over time this will grow, but we can redesign when it becomes substantially longer.
  • All members, who are not founding members, which have a non-zero direct score, and their score. For each we want to show their membership handle, their score and their avatar. Be aware that this avatar is not the branded avatar which you get as a founding member, it's the avatar currently used on the Joystream blockchain. This list could be quite long, easily 30-50 entries very soon.
  • Key metrics for the program:
    • size of each token pool
    • the number of past scoring periods
    • number of founding members
    • number of non-founding members with 0> direct score
  • Deadline: If a period has been announced, there should be a major indicator of how much time is left in the given period, what period number it is, and a link to the announcement and a link to the summary submission form. If there is no announced scoring period, then then no deadline information is shown.
  • Last Period: we want to highlight the following about the last period
    • Last period direct scoring ranking: Ranked score of all members who earned new direct scores in that period. We should show how much they earned that period, and also what their total is.
    • Last period new founding members: Very prominently highlight the handful of new founding members inducted. For each we want to show the normal information mentioned above for founding members.
  • Overall referral score leaderboard: Overall top 5 or 10 leaderboard of referral score of founding members.
  • Overall direct score leaderboard: Overall top 50 leaderboard of direct score among all members. In principle the top will also be founding members, but that need not be the case, and many entries will not be founding members.
  • A link to the founding member repository.
  • The major call to action is for new people to get started contributing to the community in order to earn points. The best call to action is to tell them to join our Telegram where they can get their first free testnet tokens and learn what the best opportunities are at the moment.
  • A legal disclaimer: similar to the token page.

There is a lot of information here, figuring out how to organise it will be a big challenge.

Update Main Landing Page

Some how integrate the program into the main page in order to draw peoples attention to it and draw them onto the program page.

Update Token Page

Here there is outdated information about how there is no way to get mainnnet tokens, this should not instead reference the founding member program as the main way to earn tokens for mainnet.

Scoring Period Form

As the explanation of the program explains, in order for the contributions of a community member to count towards their direct score, they have to submit a summary of this before a given deadline. We want to have a dedicated page which allows users to easily do so.

This page will not be part of the main site directly, but will be served on joystream.org and will be linked to from the main site, and needs to have the project branding.

The page should show information about the upcoming deadline and and what scoring round this is and allow the user to input

  • a membership handle
  • a markdown document with the summary
  • a Keybase handle

Importantly, before its possible to submit the form at all, the user has to sign their inputs with a key, specifically what is known as their membership controller key. This is a key they get from Pioneer, which has a specific section for exporting keys as files. The user must input this file onto the form, for example using a drag and drop or file selector. The form will check that the file format is correct, if it's not, it has to inform the user that an unsuitable file was provided. Before submitting, the user has to be shown a terms and conditions form and accept them. The page will then use the file with the key to automatically do the signing on behalf of the user. Some success message should be shown after the form has been submitted.

Responsiveness

All designs must be suitable for being implemented as responsive, and mobile variations should be shown.

Founding member program information

Background

One of the problems of the current program is that lots of activity, of even key roles like the council, is bizarrely not reported to the program in the scoring periods. This has to be an information problem, not an incentive problem, as are result we should try to surface this information in a potent context.

Proposal

Update Pioneer 1 such that it has contextual reminders to the user to report information in the scoring period. Specifically

  • A global reminder at the foot of the app reminding the user about reporting to the program, and also shows a countdown indicator, like on the FM page: https://www.joystream.org/founding-members
  • A reminder banner in a few key areas (council, proposals, forum, working groups) with a differentiated reminder that this specific activity generates FM points.

This example shows this more clearly

p-banners

Assets

We need some assets made that are salient but still somewhat within the style of Pioneer 1.

(WIP) List of ongoing website improvements required

General

Screenshot 2021-02-23 at 23 20 13

We need to add a Discord button to the footer
Also Github -> GitHub

/founding-members

  • Back button on the form
  • Discord -> Telegram everywhere
  • Error message on form if there are endpoint issues
  • Suggest ways of making this look better

Screenshot 2021-02-23 at 23 25 57

/manifesto

The dead link to joystream.org needs to be removed here.

remove dead link

/athens

The link to Acropolis should have a different colour (I think white, but maybe underlined?)

link colour

/sparta

The contrast is horrible in the warning dialog/text and links, any suggestions? Perhaps all white for the text would be an improvement? And perhaps blue would work better in the background.

And I think again remove the Network Statistics part and use the end stats for the network in the Roles available on the Sparta testnet section aka. Incentivized Roles for the Sparta Network

sparta text colour

Also for both /sparta and /athens:
This component is broken (showing incorrect data) and I think should be removed, since I'm not sure where the real data is held (not sure if it was ever actually recorded).

Screenshot 2021-02-23 at 23 16 20

One other thing, am I imagining it or on /sparta vs. /athens is the helment too far down the page and also moves much more noticeably when you scroll down?

Design: New Jsgenesis website section

Background

Currently, there is no information on the Joystream project page about how the work on the project is organized, who does it, who they are, and what their role, if any, is in the future of the project. We used to link to the Jsgenesis company website (www.jsgenesis.com), but that is also now gone, and there is no link to our hiring effort.

Proposal

Content

I suggest we reintroduce more explicit and comprehensive information directly in the Joystream website. We want to convey the following

  • Jsgenesis: What it is, and what its purpose is in the overall project. (see jsgensis.com)
  • Team: who is currently building Joystream from inside Jsgenesis. Here we are having hand crafted avatars for each person, in the following style

image-2

and here is the full list of contributors

Screenshot 2021-03-22 at 17 38 28

  • Backers: Who is backing Jsgenesis. (see jsgensis.com)
  • Hiring: the fact that we are hiring, and linking to the relevant hiring page on old jsgenesis site.

Integration

There are at least two ways to integrate this

  1. as a standalone About page in the top menu, where we would need some illustration for the header section.. like the Jsgensis company logo or osmething.
  2. a new section at the bottom of the current front page.

I would opt for trying 2 first, and if there is too much information, we can move it.

Design

The current website design is found here on Figma

https://www.figma.com/file/3uoobZkRhFF4yibFjCWa2D/Joystream-%7C-Website

and we do need responsive specification as before.

Testnet links missing

It should be possible to click and open the network page for each visible testnet under the Road to mainnet section on the landing page, currently it is not.

Hydra Page fixes

Hero section title and subtext not aligned

Screenshot 2020-08-13 at 19 07 28

Change problem section

Can you make this to be a 2 row x 3 colum layout when in full mode, so we dont get the one wrapping on the end. Also, the titles on each problem should be the same size as the titles in the "Your own queyr node", and also heavier.

Screenshot 2020-08-14 at 09 58 35

Selected feature alternatives must be bold

Screenshot 2020-08-13 at 19 08 25

GraphQL code snippets need better indentation and space between types

Screenshot 2020-08-13 at 19 07 52

Bad title wrapping

Screenshot 2020-08-13 at 19 08 09

Broken icons and hero illustration

Screenshot 2020-08-13 at 19 07 33

Screenshot 2020-08-13 at 19 07 31

Screenshot 2020-08-13 at 19 07 25

Wrong background

Background behind "Powerful queries in GraphQL" section is wrong, perhaps this is related to the missing "Your own query node" section.

Query example

First off, the symbols are broken, and indentation not there, but can you also fix the layout so that this would look correct if we changed the vertical size of the entire black box? Text in each section of the box should be top aligned still.

Screenshot 2020-08-14 at 09 59 14

Design: Multilingual

We are increasingly receiving attention from a diverse audience which does not prefer to read English, as a result, we are going to make our website work better across multiple languages. To this end, we would like to introduce some indication to the user that the site comes in multiple languages, which language they are currently viewing it in, and and indication that they can change the language. We will very likely attempt to detect what language the user most likely prefers, and select that by default. We expect to support anywhere from 2-15 languages.

Double check website copy

The following is the main subtext on the landing page

Letโ€™s create together a video platform controlled, owned, and operated by its users.

This obviosly needs to be improved, and the fact that its there probably means that we have not been careful about this across the boards. Can this be double checked across the site and updated?

Website Updates

Tasks to be done:

  • Rome testnet page (#48)
  • Manifesto page (#51)
  • Fix warnings in tests (#49)
  • UI updates and fixes (#51)
  • Change Footer component (#51)

Internationalization (WIP)

This issue aims to track the overall progress of the internationalization implementation for joystream-org. The implementation choices and other important details were handled here: #257

Since this is also the first time I am doing something like this, it is hard for me to gauge how much work there is and any specifics that may arise that need extra work so I will be keeping this issue as a WIP and add more tasks (or subtasks) if necessary down the road.

The general overview of the tasks should look like this:

  • Implement the react-i18next library with only the english language. This will be used as a foundation for all future languages that need to be implemented in the future.
  • Let Joystream community members contribute translations to the project.
  • Implement all the new lanugages while making sure that the alignment and style of the components stay intact.

Stylelint linting fails on Windows

pre-commit hooks stylelint is not working on Windows machine. If you try to commit changes to the repo, you will come across this issue:

image

The solution is to replace

"stylelint": "stylelint 'src/**/*.scss'",

with

"stylelint": "stylelint src/**/*.scss",

in package.json

Persistient responsiveness issues.

I believe I gave a review a while back about fixing many of these issues, for some reason they were not. In summary, the site breaks or has a bad design, as it is being scaled.

All of these are issues currently on the master branch, I will not proceed to review any open PRs until these are resolved or responded to, and the new PRs are rebased on/merge fixes.

  1. This is not how the design shows these being rendered, the design showed the label and information on the right-hand side.
    Screenshot 2019-11-06 at 09 04 47.

  2. Can we change to use this illustration

https://projects.invisionapp.com/share/7DQGW3738SX#/screens/383369696

  1. When resizing, many illustrations are scaled-down and shifted, this looks broken.

Just hide it if there is no space.

Screenshot 2019-11-06 at 09 10 37

Screenshot 2019-11-06 at 09 35 56

  1. These buttons take the full width of the screen too early.

Screenshot 2019-11-06 at 09 43 38

  1. The top-level menu wraps and breaks.

Screenshot 2019-11-06 at 09 05 39

  1. The status card, which has title "NETWORK ANNOUNCED", is its font scaled down even as the horizontal space is increased because the right hand side illustration is removed. This should not happen. See the next three images.

Screenshot 2019-11-06 at 09 49 25

Screenshot 2019-11-06 at 09 49 32

Screenshot 2019-11-06 at 09 49 37

  1. Avoid this bad title wrap.

Screenshot 2019-11-06 at 09 51 21

  1. The network page breaks when resized. The title is too small and the "What is this" just floats in mid air despite there being no network logo available to ask the question about

Screenshot 2019-11-06 at 09 10 52

  1. The roles headers break.

Screenshot 2019-11-06 at 09 52 47

Screenshot 2019-11-06 at 09 52 59

Screenshot 2019-11-06 at 09 53 03

Analytics for joystream.org and pioneer

Introduction

We currently have Google Analytics enabled for both joystream.org and Pioneer. Unfortunately, it isn't offering us very much useful information about how people are using either of these services. We have therefore decided to switch to Mixpanel for the reasons outlined below.

Mixpanel vs Google Analytics

While Google Analytics is a good general purpose solution for tracking what kind of visitors a service gets, it is relatively weak at offering insights into what they do once on the website or application. Mixpanel is arguably much more event-driven, and this is what we really need in order to understand how users are behaving on our testnets.

ga

Google Analytics is intended more for static websites as opposed to applications such as Pioneer. It provides useful demographic information, but its systems for tracking events are quite clumsy and the data is often poorly represented.

With Mixpanel, it appears to me that it will be very simple to track actions such as video plays, button clicks and elements viewed. The diagrams etc. which result from placing a simple snippet of Javascript e.g. mixpanel.track("Video play"); on each element we want to track will end up being useful for measuring what people do on Pioneer and joystream.org too.

Screen Shot 2018-12-04 at 2 32 38 PM

What we might want to track for Rome

It would be useful at this point to consider what kind of events we would like to track in pioneer. Here are some of the main ones we might like to measure:

  • Media plays (segmented by type of media: video, music, podcast, book?)
  • Clicking text fields
  • Entering "pages"*
  • Leaving "pages"*
  • Changing memo
  • Adding content item
  • Changing visibility of content item
  • Button clicks
  • Etc.

*e.g. upload video form, extrinsics page, testnet data page

I'd appreciate some comments on this issue offering some more examples, perhaps by those who are more familiar with the flows designed for Rome. My general attitude is that we should collect as much data relating to as many distinct events as possible and work out what it will be useful for later. This approach is likely to provide us with a higher proportion of information that we can act on to improve our testnet software.

Summary

I will attempt to deploy Mixpanel tracking to both the new Joystream website (currently just the development version of that site) and eventually Pioneer, though may need a bit more guidance with the latter. Once live, we will have to remember to update the joystream.org and Pioneer privacy policy to reflect the change in analytics provider.

Role count on network pages

It generally looks like this on all networks, both past and present.

Screenshot 2020-12-29 at 14 01 29

Obviously

  1. there should be no counters for a retired network and it should not refer to the current network, as above.
  2. an active network should have real counters, it currently does not.

Website improvements/bugs

Found few bugs/places to improve on the new website:

  1. The chain info has a significant loading lag and results in shifting the page layout quite a bit. We should probably use some placeholder since the jump doesn't look good.
Screen.Recording.2021-03-19.at.09.22.51.mov
  1. Testnet cards container is scrollable vertically, looks weird
Screen.Recording.2021-03-19.at.09.26.40.mov
  1. This doesn't inspire trust ๐Ÿ˜›

Screenshot 2021-03-19 at 09 27 08

  1. The main Start earning button links to https://www.joystream.org/#opportunities and doesn't do any navigation for me, nothing happens

Screenshot 2021-03-19 at 09 48 08

  1. The Become founding member links to the whitepaper, I don't think that's correct

Screenshot 2021-03-19 at 09 38 20

Tested on latest Brave (Chrome)

Improvements for Community page

Currently, the community link in the header goes directly to the Discord server. This is quite undesirable for a number of reasons:

  • Users may not have a Discord account or not want to use Discord. If users do not have a Discord link then they can't see anything at this point and may just give up.

  • Even if users do have Discord, our Discord server doesn't really sell the projects unique qualities or the size/scope of the community unless a user reads through every channel.

  • Some other projects link to forums on their community pages

  • Although there is a link to Pioneer, any new user doesn't have any idea what Pioneer is.

  • It puts the entire idea of the Joystream community as being reliant on Discord when we have an on-chain forum, on-chain roles, on-chain proposals (very few projects have these qualities)

  • It doesn't show any proposals/governance which are also part of the community.

What would be nice to see is a page that shows slices of the community as a whole:

  • Some forum stats (n posts, n threads) which can then link to the forums (it should really mention the "on-chain forum" as this is a very unique feature of the platform.
  • Some proposal/spending proposal stats + link to the proposals view
  • Membership stats + link to membership page
  • Working group, council, validator stats/info + link (ex. 16 Curators, 1 Curator lead)
  • Number of videos currently live on Atlas + link
  • Discord/Telegram links

Some of these are mentioned elsewhere but I think its important to highlight how many on-chain roles we currently have right now:
16 council members + 1 curator lead + 5 curators + 1 storage lead + 5 storage workers (total of 28 on-chain workers paid n tokens / week, which again, like the on-chain forums is a very unique selling point.)

As more roles are introduced, the number of on-chain workers will probably increase significantly closer to mainnet, so it is quite a marketable metric to put on the site.

WIP: Alexandria changes

Due to changes in the KPI scheme, and the status server, some changes on the testnet page are needed.

Status server related changes

Some values from the status server are presented on the page, and some of these are affected by this PR.

Issuance/Supply

Replace actualIssuance withtotalIssuance as the source of supply.

Pending Exchanges

Currently, all items in the exchanges array are presented as pending, until they are manually deleted.
For Alexandria each exchange will have a status property, with the value "PENDING" or "FINALIZED".

if (exchanges[i].status == "PENDING") => display
else => don't.

General changes

@blrhc
Please assist with links and rewrites!

Testnet Incentives

Learn More

  • Change link

Value backing dynamics

  • Change the text and links

Current set of KPIs

  • Rename to Council KPIs?

  • Add a new section, in same style:

Community Bounties

  • Read from /src/data/kpi.json

eg.

{
	"KPIs": [{
			"title": "Some title",
			"description": "Some description",
			"reward": "value",
			"startDate": "DD.MM.YYYY ~HH:MM UTC - #blockheigh",
			"measurementPeriod": "n days",
			"annihilation": "Some tragic thing",
			"successEvents": [
        "First",
        "Second",
        "nth"
      ],
			"gradeDate": "DD.MM.YYYY ~HH:MM UTC",
			"number": 17.1
    }],
  "Bounties": [{
    "title": "Some title",
    "description": "Some description",
    "reward": "value",
    "published": "DD.MM.YYYY ~HH:MM UTC - #blockheigh",
    "successEvents": [
      "First",
      "Second",
      "nth"
    ],
    "annihilation": "Some tragic thing",
    "conditions": [
      "First",
      "Second",
      "nth"
    ],
    "reviewPeriod": "n days from concil submits",
    "id": 1,
    "status": "Some text - must allow links"
  }]
}

For Community Bounties it must be displayed differently:

  • Number box -> "id"
  • Title, description, reward -> same
    Then:
  • Published at: -> "published"
  • Requirements: -> "successEvents"
  • Annihilation Condition: -> same
  • Conditions: -> "conditions"
  • Review Period: -> "reviewPeriod"
  • Status: -> "status"
    • This really needs to be able to have links...

This we can add later...

Stats

This may be done in one of three ways:
A Link to Pioneers "tokenomics" page
B Create a new subpage, with more data and charts
C Add more stats on the page itself

Dealing with Babylon upgrade failure

Background

As explained in the following issue, the Babylon upgrade failed, and we are going to launch a new network, Antioch, in order to get an active network up and running as soon as possible.

Joystream/joystream#2285

Problem

Our current website is out of synch with the fact that the network is down, and we need to fix this as soon as possible by

  1. Temporarily hide the Testnet Metrics section of the hero section on the landing page.
  2. Temporarily hide the Explore Joystream Now section of the landing page.
  3. Introduce a banner at the top of every page which says "Babylon Network is down: Antioch Network Announced`, or something to that effect, which links to a new blog post on the subject. Just give it a try to style it in some way that matches the branding, and then we can correct later. A good tip would be to use some of the colors already in our pallet, such as those found as background colors for avatars.

Quick improvements to get started page

With reference to this preview
https://deploy-preview-270--joystream.netlify.app/get-started/#opportunities

  1. The how to start stepper section must be fixed to work like described in this PR review #270
  2. See available opportunities => Opportunities
  3. Add color codes to labels used on bounties, take from Figma.
  4. Scrollers on carousel in both bounties and roles section should be aligned with width of cards, so that a single click shifts a full card to the left, right now its continous, which is much less useful.

Add ENV sample file

README.md has a section about setting up ENV

ENVs
To populate project with environment variables create files .env.development for local development and .env.production for final build.

To bootstrap a development environment, I suggest adding a .env.sample and a brief description of each variable - the case of HJ_* for Hotjar.

With this implemented, developers can create env files by running:

$ cp .env.sample .env.development

then update values.

Mailing List Form Error

newsletter signup issue

It looks like for every form element on the Roles page it says Council Member where instead it should have the specific role for the preceding section.

Also, the text should actually be something like Receive regular updates on the XXX role as implying that by entering your email you will be joining the role is very misleading.

Founding Members Program Changes

This issue will be used as a means to track the current progress of the changes for the new Founding Members Program implementation for the Joystream website. (Relevant issue: #207)

After careful deliberation I think it would make the most sense to implement the changes in this order:

  • Main page integration that would lead people to the actual Founding Members page.
  • Founding Members Page
  • Direct Score Ranking
  • Scoring Period Form
  • Token Page changes (?)

My reasoning is mostly that the integration should be the easiest to implement while also being the major way to attract people to actually read about the program. Secondly the founding members page itself, as it is the foundation on which we will be building the rest. After that, there isn't a clear better option, I wen't with the Score Ranking as it should be the easier of the two.

I'm open for any suggestions!

Multilingual support

It seems like it could be advisable to make versions of our website where the copy is in multiple different languages, e.g. Chinese, Russian, Spanish, Arabic, etc.

What sort of changes to the architecture would it require to have this organized and managed in good way, and perhaps also have some sort of easy CMS or something where people could contribute copy for a given language. Would be great if this could be partially crowd sourced, but not sure how easy this would be.

Minor Website Improvements

There are quite a few minor things which need to be cleaned up:

/manifesto
The dead link to joystream.org needs to be removed here.

remove dead link

/rome
For consistency I think it would be better to show the numbers at the end of the Rome network rather than "run this role on Constantinople".

I think @bwhm should have this data somewhere.

status server or old data

/acropolis

Again, for consistency with above, the title here should be Incentivized Roles for the Acropolis Network
Also the data needs to preferably be from end of Acropolis.

acropolis roles

/athens

The link to Acropolis should have a different colour (I think white, but maybe underlined?)

Also the end network stats need to be consistent - I think it should say Incentivized Roles for the Athens Network but honestly the important thing is just picking a style and then sticking with it across the testnet pages.

Also there is a separate Network Statistics section which kind of duplicates the other stats, we seem to have removed this going forward so perhaps it would be better to remove that on the older testnet pages too.

link colour

at migration athens

stats at end

/sparta

The contrast is horrible in the warning dialog/text and links, any suggestions? Perhaps all white for the text would be an improvement? And perhaps blue would work better in the background.

And I think again remove the Network Statistics part and use the end stats for the network in the Roles available on the Sparta testnet section aka. Incentivized Roles for the Sparta Network

sparta text colour

data

Let me know if any questions or anything else you notice that ought to be fixed.

One other thing, am I imagining it or on /sparta vs. /athens is the helment too far down the page and also moves much more noticeably when you scroll down?

Missing Leads

We need lead roles to be added to this page, as well as possible newsletter links

https://www.joystream.org/roles/

One can either add a single "Working Group Lead", which describes how you would be a lead for one of the groups, or, you would add a specific role for each one. It seems the positions will be distinct enough that the former makes most sense. We hare however missing a bunch of icons for this.

Founding Member cover tweaks

I am thinking of this section

Screenshot 2021-03-30 at 13 26 55

We ended up dropping the referrer information in the bottom of each card from the original design, that has left the cards looking oddly tall, since we did not make any subsequent adjustments. Therefore I suggest we go for something simple like this, at least for now

Screenshot 2021-03-30 at 13 28 46

This can be achieved by removing the values for

  1. FoundingMembersPage__card__scores.margin-bottom
  2. FoundingMembersPage__card.min-height

FM related issues

Instead of adding to #293, I'll just list some more issues that needs to be addressed:

  • We skipped "last period highlights" for the initial launch, as it would be empty anyway. Now is a good time to add it.
  • The link to the KPI and current testnet stats (/testnet) is currently not very accessible, as the previous links to it has been removed.
    • Propose a natural way for users to find it
    • Read through the info, and make changes to the text where needed
  • When we publish the "Announcing Sumer" blog post, we need a new network page for it.
  • #290
  • @bedeho I still think we should refrain from using the name "Atlas" publicly. I would prefer "Joystream Player" instead.

Tweaks to main page

Please reply to issues in this thread if needed, resolve in standalone PR.

  1. Can we somehow lift this illustration further up, it sits very low. It may just be becaue the motif itself occupies frame in a different way to the illustration in the design, but it needs to be accounted for in the layout.

Stadium illustration

Screenshot 2019-11-18 at 11 58 06

Builders illustration

Screenshot 2019-11-18 at 11 58 01

  1. The illustration for the current testnet, and the pattern in the background is much smaller than in the design, even with maximal space available.

Design

Screenshot 2019-11-18 at 11 33 23

Page

Screenshot 2019-11-18 at 11 53 38

  1. The metrics section for the testnet merges with the next "Roles" section because there is no next announced testnet section currently. This is a failure of the design, not of the page. However, we could potentially ameliorate it somewhat by introducing a suitable subtitle for the metric section, which currently is blank.

Screenshot 2019-11-18 at 11 32 26

  1. The testnte metic icons appear to be smaller than they need to, even with maximal space. Lets have them have their actual size from the design.

Design

Screenshot 2019-11-18 at 11 27 13

Page

Screenshot 2019-11-18 at 11 26 30

Bounty cards get clipped in bad spot

I also suggest the row count goes to 3, as we will be getting more bounties coming out, and it will require way too much clikicking to discover them all. Also, newest bounties should be listed first (left).

Screenshot 2021-04-15 at 14 43 06

Future improvements to testnet/incentives page

Not urgent, but would be nice to add a little another couple pieces of data to the site.

Nice and easy

  • Total tJOY burned by exchanges (already exposed by the status-server)
  • Total amount paid out through exchanges (needs support in status-server)
  • Number of exchanges made (needs support in status-server)

More advanced stuff would be to add some charts that shows the history of one or more of the values over time, such as issuance, rate, etc.

As stated, no rush, and should probably include some more thinking and design work.

Fix token purpose section

In particular the payments case needs to be replaced, or a new mint&burn case, needs to be added, as discussed. Buts lets roll this out after new branding is live.

Issues with non founding members preview list

Two questions about this section

Screenshot 2021-03-18 at 18 53 55

  1. Why do the membership avatars not get displayed here? It also not happen on the full ranking by the way.
  2. The link goes to the wrong full ranking, it goes to the founding member overview.

Jerky loading

On most major pages, the loading is kind of jerky, in that the layout jumps around a few times during the loading process. This does not look that good. Some seem to be related to the loading of images, but not all. Would be great to have fixed.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.