Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

create a working prototype based on this wireframe #1

Open
ddfridley opened this issue Dec 3, 2020 · 7 comments
Open

create a working prototype based on this wireframe #1

ddfridley opened this issue Dec 3, 2020 · 7 comments

Comments

@ddfridley
Copy link
Contributor

@ddfridley
Copy link
Contributor Author

This talks about the rounds and the flow from inputs to outputs
https://docs.google.com/spreadsheets/d/105GoZwLOAregXHfiTBCU2vF2vQXg66cNr9THhbJOb60/edit#gid=0

@ddfridley
Copy link
Contributor Author

ddfridley commented Dec 3, 2020

API for browser to server

"use strict";

    const questionObj= {
        _id: 'ObjectId',
        subject: 'string',
        content: 'string',
        topicId: '_id'
        userId: string
    }

    const topicObj= {
        _id: 'ObjectId',
        content: 'string',
        userId: string
    }

    const topic_bin={
        leadTopicObj: {},
        topicObjs: [],
        questionObjs: []
    }

    const topic_associations={
        _id: '_id',
        round: number
        topicsIds: [],
        userId: string
    }

    const topic_questions={
        _id: '_id',
        round: number
        questionIds: [],
        userId: string
    }

    const topic_bins=[]

    function createTopic(topicObj) {} // returns a promise for a topicObj with _id set
    function createQuestion(questionObj) {} // returns a promise for a questionObj with _id set
    function associate_topics(round, topicIds){}// returns a promise for success
    function associate_questions(round, questionIds){} // returns a promise for success
    function rank_topic(round, topicId, rank){} // returns a promise for success rank is string, likely "most"
    function rank_question(round, questionId, rank){} // returns a promise for success rank is string, likely "most"
    function get_topics_in_bins_and_questions(round){} // returns a promise for a topic_bins 

    // Inherited parameters on the server side
    // userId -- the id of the user

@ddfridley
Copy link
Contributor Author

@ddfridley
Copy link
Contributor Author

Here is another idea for combining things without using drag and drop. This was done by Kamal Singh (by that name on slack). https://www.figma.com/proto/sd8Sfv0mEbmwMrumbpjcPs/Untitled?node-id=88%3A2111&scaling=min-zoom

@ddfridley
Copy link
Contributor Author

ddfridley added a commit that referenced this issue Jan 27, 2021
@ddfridley
Copy link
Contributor Author

@procupid on this page of the figma - https://www.figma.com/proto/sd8Sfv0mEbmwMrumbpjcPs/Untitled?node-id=129%3A5352&scaling=min-zoom We really do need to make selecting one of the existing topics as the combined topic name the primary use case, and entering a new name as a second use case that's less common. First, because it's easier for the user to select one, than to type in a new one, but second for the algorithm, the Combined topic name is essentially a new topic name, which will need to go through review by other voters, just like any other topic. This will result in more rounds of review, something that we don't want. In the prototype I was easily able to use double-click to make a topic the lead topic - but that's totally unobvious to a user and it has to be spelled out in the instructions below. Another idea is for the last thing you clicked on to be the default Combined topic idea, but that's awkward. But generally - lets study this a little more.

@ddfridley
Copy link
Contributor Author

This is the latest version of the UI prototype we are working toward: https://www.figma.com/proto/sd8Sfv0mEbmwMrumbpjcPs/Unpoll?node-id=900%3A13708&scaling=scale-down&page-id=900%3A12241

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant