cXc Music Development Update: PostgreSQL, Charts Algorithm Explained, Roles, and More!!!

in #dapp5 years ago (edited)

Hello Evolutionaries!!

So much has happened since the last update, and I am very excited about the future of cXc Music, Purple, and planet Earth!!!

I wanted to give this update to clear up a major concept on the site, charts. I have been getting questions about how the charts work, so I re-wrote that section of the Purple Paper to be super clear about exactly how they will work!! Here is the direct link to get there, or you can read ahead.

Where we are

Currently, cXc Music is in Alpha with a few hundred musicians already on the map. We stopped (temporarily) promoting the site months ago, though we plan to go into full-swing into promotion when the curation system has been launched. The reason for this is the map will get cluttered with too much music on it.

The app's curation system (currently) only has UPs, and that's what we are working on now. You can read more about the planned curation system in the Purple Paper.

What we are doing

We are re-thinking many things on the site, including how the ambassador and bounty program will work.

When I originally designed the systems, there were three roles. Artists, Changers, and Guardians. The Guardian role has been fully fleshed-out in the Purple Paper, and the artist role has been evolving. The changer role isn't mentioned in the whitepaper, as I thought the role had dissolved itself into the system and didn't need to be explicitly mentioned (now I am reconsidering). These three roles are integral to the system, even if they were not "leveled" like Guardians in the Purple Paper. I am planning to revive both of these roles in a way similar to Guardians, with four levels for each role and raised privileges for each role.

Pause: What is a Guardian?
There is a link to the info on the menu on cXc Music, or right here

The ambassador and bounty programs were added as a marketing tactic later, they are not core to the system itself. As we have radically stepped away from a traditional ICO, we are reconsidering these roles and how to better reward people who are motivated to help out of love for planet Earth and all the beautiful beings here, not greed.

Programming Update

I have been preparing to completely move over to PostgreSQL from MySQL. This is something that is totally necessary, and totally awesome. In PostgreSQL, with PostGIS, we are able to do SOO much with spatial data (very fast, too). I really can't express how excited I am for all that we can do with PostgreSQL. I have BIG plans to make everything magically fast with dynamic views, smart partitioning, and bounding boxes. Performance has been a big concern of mine from the beginning, and now after moving to PostgreSQL, I am confident we can make everything smooth for the end-user and the server.

This move came while incorporating the curation system. I could have done it in MySQL, barely, but I don't want barely. I want speed and efficiency to last decades. This transition to PostgreSQL (still in progress) has slowed our progress a few weeks, as it was a completely new system to learn, but I know it will save us unimaginable headache later on. I honestly can't even imagine why someone would use MySQL for any geospatial project after learning about PostGIS.

We are super stoked SMTs are being actively worked on now!!

I also have been scheming up some beautiful D3.js charts to make all the data shine on the frontend, but that's getting a little ahead! Let's talk about charts.

Charts

You can read the most updated version here

How Charts work

Charts curate all the music on cXc Music. Here’s how they work.

The Concept

Without curation via charts, the map would quickly fill up with dots (music). With charts, only the music that has gotten UPed shows up. Charts compare how many UPs each musical creation has, and also exclude all music that has not gotten any UPs in the geotemporal space displayed. Charts are represented graphically in map display, and tabularly in list display (both shown below).

The Algorithm

The charting algorithm is very simple. The amount of UPs determines chart position. UPs include BlueUps and SolUPs equally weighted at 1. BigUPs have no extra value in the basic charting algorithm, they are worth face-value (144 UPs).

Basic Charts (One Geotemporal Unit)

The basic geotemporal unit of charting is a Zip Code Time Unit (ZIPTU) that includes all music, regardless of genre and mood. A basic chart is created automatically after each cycle of voting, so the most recent chart is always the trailing 5 minutes, represented as CurrentTU - 1.

Aggregated Charts

Aggregated charts take more than one ZIPTU into account. This can be geographic, such as looking at an entire nation for one time unit, or temporal, such as looking at an entire month for one zip code, or a combination of both, such as looking at an entire nation over the course of one month.

Aggregated charts are created anytime a user searches for a specific area and time range. Users can specify any geographical area, and any span of time between now (CurrentTU - 1) and the beginning of the system. Significant aggregated charts are also automatically generated, as detailed below under “Top 12.”

Special Charts

We also use exclusion of data to generate special charts, the most important being genre, mood, and BigUP charts. Genre / mood charts are generated through simply excluding genres / moods that are not relevant. BigUP charts only take Big UPs into account. SolUP and BlueUP charts also exist that only show the Sol and Blue votes, respectively.

Top 12

Charts include all of the content that received UPs. The top 12 content in basic and selected aggregated and special charts is given special recognition (a statistic or badge) that is recorded by the system and displayed on the music and artist’s page. Special recognition doesn’t affect the content’s ranking at all.

Aggregated charts used for artist recognition

All combinations of the following are used for badges:
Geographic: City, County, State, Nation, Global
Temporal (All GMT): Day, Week, Month, Season (Spring, Summer, Fall, Winter), Year

Special charts used for artist recognition

Special charts follow the aggregated chart geotemporal combinations:
Big UPs
Mood
Genre

Please note: The terms “Aggregated Chart” and “Special Chart” are used to explain the algorithms, the terms do not appear in the application itself, as they are not separate in the user’s experience.

Douglas Update

Well guys, I am in Chapada dos Guimarães in wonderful Brasil. I feel so amazing here, like a big weight of my ego is finally dissolving so I can live in the bright light of love, joy, and perfection in this every now. My ego was full of worry, doubt, and expectation. Ths light is full of love, energy, around a core of peace. I am so excited. Incredibly excited. My veins are coursing with o2. My faith is fully aligned with the All, for the first time in a long time. My doubts are all gone. I am loving every moment. I am so happy to be experiencing this new world with all of you.

Also, my latest course has been released, so now I am devoting all of my work time to cXc!!

Excited to be here with you,
Love Always,
Douglas James
@douglasjames

Join us!


Website | Purple Paper

Telegram | Facebook | Twitter | Instagram | Youtube

cXc Discord

Try cXc Music!!!!



How to Use cXc Music

Sort:  

Congratulations @currentxchange! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :

You published more than 30 posts. Your next target is to reach 40 posts.

You can view your badges on your Steem Board and compare to others on the Steem Ranking
If you no longer want to receive notifications, reply to this comment with the word STOP

To support your work, I also upvoted your post!

Vote for @Steemitboard as a witness to get one more award and increased upvotes!

Coin Marketplace

STEEM 0.27
TRX 0.13
JST 0.031
BTC 61745.50
ETH 2898.66
USDT 1.00
SBD 3.61