wizardamigos / wizardamigos.github.io

Intro page
https://wizardamigos.com
11 stars 9 forks source link

gig/exercise (paid gig contract chat logs) concept & design #56

Open mimi-uxui-dev opened 2 years ago

mimi-uxui-dev commented 2 years ago

@todo


@info

regarding bounty programs and gigs in general, here are pages that do those:

more infos

the only difference between an exercise and a gig is, that the exercise is posted by a bot and the "gig chat" of an exercise is about talking to a bot and the payment at the end is 0 but the learners has a finished exercise, so UI wise those are almost identical and can be re-used mostly. Technically an exercise can even have a real payment attached and a gig could technically also be managed by a bot, so the distinction is not super clear and for a learner it might not even matter.

CONTRACTUAL Another thing is, that clicking a "custom action" like apply for a gig just means some sort of special "chat message" (or "chat action") In fact, when doing a gig and talking to the author of the gig and working on it, there are many such "chat actions", for example:

So when a user clicks "APPLY" on a gig, thats the first message in that chat. The response of the author could be an accept/reject or some text before the accept/reject is issued once accepted, maybe the gig disappears from the public list or is in progress and others are then not able to apply But if the author rejects, the gig is again open for others Now details whether that discussion is public or private is for later and for now i would all keep it open, because thats how we work and how github works and its for now one less thing to worry about. Also: other applicants can already learn from previous applicants and the conversations instead of going through all the questions again and again :-)

Hornet004 commented 2 years ago

worklog 2022.06.14 8:28PM worklog 2022.06.14 8:28PM worklog 2022.06.14 8:28PM

serapath commented 2 years ago

feedback 2022.06.14

worklog 2022.06.14 8:28PM worklog 2022.06.14 8:28PM worklog 2022.06.14 8:28PM

  • done iteration 1 - visualizing paid gig/exercice contract chat logs concept

  • new iteration 2 - visualizing paid gig/exercice contract chat logs concept

    • @input :package: Figma Link1
    • new create refined wireframes
    • @output :question: figma link2

:+1: yes, add the new tasks as described in your worklog comment

:+1: regarding all the things you share about the concept in your worklog videos

I recorded a little feedback video regarding the structure of the UI/UX and that we have plans to make it more messenger/chat like ...all of it :-) Essentially we need to merge

  1. github issues
  2. youtube worklog videos
  3. hackmd timelog
  4. discord chat into one single UI/UX chat/messenger like tool to be able to work the way we do now using the just mentioned tools

see: https://share.vidyard.com/watch/bu2HV3HW1X4byxmL1i5jMs?

serapath commented 2 years ago

@Hornet004 question 2022.06.15

serapath commented 2 years ago

feedback 2022.06.15

@Hornet004 question 2022.06.15

  • when someone is applying ...are we collecting any information from them? (i.e doc, links e.t.c)
  • I am thinking of a more solid approach where you need to request to chat someone before chatting them up

hm, i would not frame the question like that.

think about it as ... we are making a tool (not just for us)

  1. imagine somebody uses it to post a widget somewhere (e.g. on a discord server or on twitter or facebook) in a group where people with certain skills (e.g. designers) are looking for job or gig opportunities
  2. now somebody sees the post and clicks "apply"
  3. that throws that person into some sort of chat where they might be able to read more (maybe there is an info box on top of that chat with more information?)
  4. they can now talk and introduce themselves ...and the chat box (just like here on discord) and they start sharing their portfolio, etc...
  5. after some time talking back and forth, they come to an agreement, so the "orderer" or the "contractor" proposes (e.g. a rate like 5USD/h and a time 0-20h/week and duration 6weeks) or maybe just a flat budget like (1200USD)
  6. when both parties accept it, that chat turns into something like we have with #contract-david chatroom, but somewhere on top it has the summary of the agreement, the contract
  7. from time to time the orderer and contractor might talk and update their arrangement
  8. their arrangement probably contains the main todos or the currently open and assigned todos and you can click to see more details
  9. each major todo is a seperate "sub chatroom" (maybe similar to discord threads?) ... but it has a summary view, but instead of the contract, it has what we have on github issues in the top level comment (tasks + inputs + outputs)
  • You cant just read the job details and start sending the user message ...there would be lots of messages for the employer ... to check out. ...so a more apply button...then the other user receives a request decides to approve or not
  1. i think a contractor prepares a "gig posting" (a box with an apply button) and posts it publicly
  2. anyone who feels like this is for them can click apply and enter the chat .... doesnt mean they got the gig yet, but they talk it through until they come to an agreement both accepts
  3. if they come to an agreement, the contractor can start working on tasks/todos/issues to produces worklog videos and outputs and earn

the "orderer" can close the "gig ad" at any time i'd say once they found enough viable candidates

i see your diagram, but ...i think this should be expressed in wireframes of an example conversation and how the screen transitions and how do people use the chat input bar on the bottom of the chat to create specific kind of chat messages that the other side can accept to get to contractual agreements instead of just informal text

Hornet004 commented 2 years ago

Suggestion 2022.06.15

  1. Imagine there is a default bot that shows all gigs and updates new gigs and a sharable link to post on social medias.
  2. somebody on social media uses the link (e.g. on a discord server or on twitter or facebook) in a group where people with certain skills (e.g. designers) are looking for job or gig opportunities
  3. The link takes them to the bot page that displays the Job description before clicking apply button.
  4. the apply button sends an application to the Job creator - he can as well choose to accept, reject or choose to ignore
  5. If he accepts the new chat displays for the applicant to communicate.

optional: In between clicking the apply button, we could allow them to attach resume or link, before acceptance.

Just my own opinion though because I really value the privacy

Hornet004 commented 2 years ago

worklog 2022.06.16

serapath commented 2 years ago

feedback 2022.06.17

worklog 2022.06.16

  • done create refined wireframes - Created paid gig/exercice contract chat logs concept

wonderful. just please add some proposal for new or changed task structure, so we can update the top level task comment here in this issue, because your new Figma Link 2 output needs to become input into one or more tasks so we can continue the work and make it lead towards the final outputs of this issue as you can see in this video feedback from me https://share.vidyard.com/watch/ejPxpamCe8o5jhJqcBnCbc?


One thing upfront about the wireframes ... it is all just rough boxes with no labels at all. We will need real example content and more details to really make a specification that somebody can implement. At the moment things are way to blurry - but maybe for quick iteration that is ok for the first couple of rounds so we can move faster :-)

otherwise: feedback for your worklog video

  1. minute 0:37 bot posts available jobs
    • comment:
      1. i imagine a human creates jobs using some sort of gig/exercise generator or editor tool
      2. then a human takes the link and posts it somewhere on social media or maybe tells a bot to do that
      3. ...if nothing else this could be just a LINK so somebody who is interested needs to click it and interact on a page
  2. minute 0:52 buttons apply now and copy/share link
    • comment:
      1. there should always be only 1-2 buttons: 1. APPLY and 2. FUND
      2. if a user already clicked apply and got accepted that button does not show anymore
      3. if a funder already clicked the button fund that button does not show anymore
      4. ...the task describes the budget/bounty that is required and one or more people can fund it to fill up the amount
      5. ...the task describes what skills are needed to do the task and somebody can apply to do the task
      6. ...once somebody got accepted to do the task, the apply button goes away
      7. There should be no other buttons than APPLY and/or FUND that can be shown
  3. minute 1:00 about the chat interface where the gig/exercise is posted
    • comment:
      1. there should not be any bots name or anything, and as said the system should not really include any named bots
      2. also it should not include any timestamp when things were posted or created
      3. basically just imagine the chat that shows the little "gig/exercise" widget to be discord, so we dont need to design details
      4. but yes we definitely need the job details in each card, but more like a summary to think of whats important
      5. the green color to show if a job is done or not is a detail - goal is to keep things as minimal as possible
        • if no button APPLY or FUND is available anymore, thats probably enough to know, no?
  4. minute 2:05 what happens when a user applies
    • comment:
      1. i think focusing on absolut minimalism, we dont need the "welcome message"
      2. we do need roughly two major sections
        1. a section for overview over all tasks and conditions that shows always a summary
        2. a section for the interactive chat so a contractor can work with the gig author back and forth
  5. minute 2:23 elements in the chat
    • comment:
      1. a task/description behind a gig widget box with apply/fund buttons is not always a single task, but:
        • it can theoretically be a single task, but mostly it is like an issue a whole list of tasks and sub tasks
        • some of the sub tasks are entire new issues with more tasks and sub tasks
        • for example think of a gig widget box for this task here - its complex, but not everything
        • for example thinkg about a gig widget box to apply for this task here - a single task representing an entire big project
      2. the task description should be given by the names/phrases of all the todos and planned inputs and output
        • and if that is not enough, we have the @info section for additional details on github, so that could be the description
      3. the chatting goes back and forth, but it needs to be a bit more formal. it can be just text chat, but worklog comments or chat messages with output can get accepted or rejected with a feedback message ...and if it got accepted, this has implications for what gets paid later
  6. minute 3:06 how things behave when the chat progresses
    • comment:
      1. from the wireframe/UI it wasnt clear that task/description updates when progress is made in the chat
        • :+1: this is a good thing, but the UI doesnt clearly separate that yet and what if its many tasks like mentioned above?
      2. you mention top bar buttons task, description, worklog ...are those meant to be filters for the chat?
  7. minute 3:49 chat input bar
    • comment:
      1. :+1: for the chat input bar with emojis - ok - and the worklog button to probably create a worklog form overlay
      2. i think we might need wireframes for this from the perspective of contractor and gig author
      3. the types of messages a contractor can send are probably 1. text, 2. worklog (with outputs and task updates)
      4. the types of messages a gig author can send are probably 1. text, 2. feedback, 3. payment
      5. maybe there needs to be other sort of contract message types to define the work hours or pricing, etc.. but we will see
  8. minute 4:21 job description details
    • comment:
      1. the tool should be easy and efficient to use, so each task should be self explanatory so no job description is needed
      2. if a task is not self explanatory, maybe it needs to be split into sub tasks to make each of them self explanatory
      3. if a task needs some images or other assets as input, those can be linked as inputs to that task
      4. at the moment, we can almost work without any specific "job/task" description like you show in that side box of text
      5. if things are unclear, there is still the chat, where people can talk and that chat log should fix that
      6. ==> so i would avoid that extra task description box - our goal is to be super minimalistic here :-)
        • basically, the whole thing should work more feel as simple as a shopping list on paper if possible - at least we can try
      7. so this means also we can remove the icon from the top bar for description.
        • i would say the goal is to remove the @info section that we have in our github issues and replace it with an initial chat message a gig author can post in the chat ...so when a contractor applies they can start from there
      8. instead of a button to edit the task descriptions, a user should be able to edit/restructure the tasks and sub tasks itself and the (planned) inputs and outputs. ...the structure of tasks and sub tasks with the inputs and outputs should be self explanatory and a gig author and contractor should be able to also attach estimations to them in terms of time it takes or money it costs to do them... ...(we dont have that here on github issues yet, but in this wireframes we can add that kind of feature)
      9. for example todomvc you just type and edit and tasks get created
        • i wish in that style by just typing and pressing enter it would be possible to create sub tasks too ... like bullet points
        • also maybe another key or feature would allow to create planned inputs and output documents
        • a worklog - when later submitted - can show an autocomplete list for a contractor to choose:
          1. what existing tasks they have worked on
          2. what existing planned outputs they have produced
          3. if the tasks or outputs they made were not in the todo strucutre, they should propose new todos
          4. if the output they created for that todo is not yet used anywhere, they should propose where the output is used as an input, etc... ...so that no group of tasks can ever be without any output and no output can ever exist without being either final project output or input into another follow up task :-)
  9. minute 5:32 markdown function of editing description
    • comment:
      1. i agree it would be nice to always turn all input into markdown, but as said above, we might be able to also do everything with just UI elements in a minimalistic way ...like the todomvc or hopefully even more minimal ..think texteditor minimal or very raw wireframes style :-) so lets do the "markdown" feature when we need it because we cant do it in another way or lets do it in the very end if possible
  10. minute 6:17 delete chat items
    • comment:
      1. NO WAY!!! there should not be a delete chat message feature.
        • maybe you can edit messages, but then you would still click on the message and see all previous message versions if you wanted
        • this is super important - because we are talking about a CONTACT here with payments
      2. every chat message is part of the work relation and has clear rules and contracts dont work if people can just delete or change chat history. it is all possibly or potentially evidence of what happend, so no, no delete chat history.
        • i understand that people can make typos or mistakes so lets allow to edit and correct it, but the faulty message is still saved and can be seen if somebody wants to see it - it wont be deleted and replaced, only maybe visually hidden with a hint that there is an edited message and its possibel to see the old message too
  11. minute 6:43 worklogs
    • comment:
      1. i think we should not have a separate side bar with worklogs, but instead i suggest filters
      2. so maybe next to the chat input bar or somewhere, the user can have a bunch of filter buttons
      3. clicking or selecting the "worklog filter" will only show the worklog messages in the chat and hide all other messages
  12. minute 7:21 worklog form
    • comment:
      1. yes, we need a worklog form to help create new worklog messages, but that should still happen in the input bar
      2. so selecting a worklog type message gives you a form and then you can click send to submitt it to the chat
      3. the form for the worklog video can either be an overlay or maybe an expanded chat input field with a form
      4. it should not be a form in a side bar i think
      5. think about messengers - they give you text and stickers and emojis and sometimes questions/polls or gifs and when you want to select those, your input field expands and gives you all these extra options, so i think there is enough space for selecting worklog and then having all the forms and options to fill out a worklog type of posting and then to press send to submit or post it into the chat history :-)
      6. worklog needs:
        • maybe some recorded screencast videos
        • it needs all the task names that have been worked on and maybe finished
        • it needs the output documents (e.g. links or attachments) and which tasks they are related to
        • it needs to maybe propose some new tasks or changed tasks - for example if work has been done and no tasks exists yet or output has been created that was not planned output
        • it needs to capture the time spent for working on each task so it can automatically update the time log
        • maybe when creating new tasks there should be an option to estimate those tasks in terms of time needed to do them
        • ...and so on, but yeah, lets be more specific about it :-)
      7. please - for all those wireframe elements, we will need more precise wireframes maybe with some exampe content
        • i think it is not good enough to have all those empty wireframe boxes with no labels - we will forget what they mean
      8. anyway - when worklog is send, it should appear in the regular chat history, just like everything else
      9. once accepted by the contractor, it will update the task list with al the inputs and outputs marked in the worklog and also payment can be either reserved or payed for the amount of work that has now been submitted and accepted :-)
  13. minute 9:20 widget to display a worklog chat entry
    • comment:
      1. yes, a worklog chat entry can have a well defined widget that displays its details
      2. how this looks in detail depends on the exact wireframing and the elements it needs to display are mentioned above
      3. again - a worklog cannot be edited once it has been accepted because the chat lof including worklogs is a contract
      4. :+1: agree that a worklog chat entry could have an "expand/collapse" mode to see more details, e.g. like attachements
  14. minute 10:28 quiz gig/exercise
    • comment:
      1. true - a quiz is like a gig, but again - no description, the description should be either included in the tasks itself
        • or additional information could be added or given in the first default chat message prepare by the exercise/quiz author
      2. answers have to be submitted in a worklog comment or chat message, but in this case, maybe a video screencast is optional, instead it could just "finish" the task of answering the quiz and the @output attachments is just text with the answer to the quiz :-)
        • maybe a worklog has the option to include some output that can be typed into a little form and in this case that prepared form is a form to answer quiz question - but i would skip those details for now and focus on the way we do our worklogs at the moment ....having a more refined form for answering things like a quiz in an assisted way is more a refinement/improvement for the future and we should skip that for now to keep things super super minimal :-)

Ok, this was now quite a lot of feedback, but one thing i would like to add that wasnt yet mentioned in your wireframes :-)

When anyone applies for a task, that task can be a single quiz question, but it could also be a giant project, so usually it is something in between, but it means when i work and talk about one or a few related tasks, like we do here in this github issue about the gig/exercise web component, then we can have a chat and have worklogs, but we should not forget, that this specific github issue chat here is only about one task in the project called:

Now - all it means is, that you could imagine this github issue more like a discord thread if you have seen those. It means a regular chat can have a little "sub discussion" in a named thread and a project where we chat only on one task is similar. Not every single task is a thread, but a bunch of tasks can be grouped in a seperate issue like the issue here is about a few related tasks that describe the wireframe we are working on and if you imagine that as a discord chat, then:

=> there needs to be a way to go "one level up" or "back" to see the parent task or issue

Basically a user, a task author or contractor should be able to navigate out of one particular chat into other chats (which means other issues) of the same project where other chat discussion, like github comments, is happening - does that make sense?

Now again - this should not be complicated, but should be as minimalistic as possible.

  1. imagine the todomvc linked above, how would you integrate it there
  2. imagine also maybe something like a file explorer, where you have parent folders or back buttons to navigate

...we are building tools for programmers who use developer tools and terminals all day long, so the tools we are building should be more in that mindset and not big buttons and large menus like for end user apps :-)

Hornet004 commented 2 years ago

worklog 2022.06.16

serapath commented 2 years ago

feedback 2022.06.20

worklog 2022.06.16

sweet. could you add a new proposed issue "iteration 4" or something where your figma link4 output document will be @input?


general feedback

This is soooooo much, si this feedback will be endless but i will split it into multiple parts. This comment here will include the first 5 minutes of your video and give feedback. The next comment will include more.

Your video is 27 minutes long, so therefore this will be a lot of feedback. I think maybe if we bounce more instead of no feedback for a long time and then a lot if input, it would be better, because you would be able to only make 3-5 minute videos and my feedback would also be shorter :-)

otherwise...

Ok, i am watching your video and I still think we still didn't manage to entirely understand each other.

I think the overall figma template has all that default figma stuff we don't need and should delete.

for example: stuff

On most screens you show this, but none of the visual elements has an icon or text yet.

  1. I think all elements/lines/boxes/etc... which do not have a name/title should go away. We don't need something "pretty", but instead we need something raw that shows just the essentials so we get to what is really needed. could you remove all the wireframe stuff that doesn't have a very well defined cause to be there? ...including lorem ipsum text - we don't need it unless we maybe do because it is important to understand the UI/UX feature
  2. I think if there is an element you want to keep (e.g. a button or input field or whatever), then maybe at least give it a name or title that says what it is. Without the video, just looking at the figma, i wouldn't even know what the buttons are.

can you change that for the next time?


feedback 0 minute 5:29 overview

This is probably at minute 5:29 how you should have started the whole thing ... by introducing the overview first.

  1. So you say there is a sidebar with an action button to [start new project] which i think is a good idea.
  2. i would remove the button for "marketplace to interact with the bot" ...because thats what "create project/task" already is

So probably we need a "web tool" where anyone who wants to make new projects can go and it is like a messenger and all it has is a single button: [start new project] and then leads you through the process you describe earlier/later (see below)

Now if a user later returns to that "web tool" page and they already created tasks, maybe they can see an overview over all their projects/tasks cards :-) ...BUT this is not a marketplace, this is a strictly private view where a user can see their own tasks they have created.

how do they see them?

what if i am not a task/project author, but a contractor, because i applied for a project after somebody sent me a link to apply on telegram/discord/whatsapp/facebookMessenger/etc...)?

Maybe it is possible to sort/filter all the chat rooms/conversations based on type (e.g. gig/exercise/...) or based on whether you are the author or you are the contractor :-)


feedback 1 minute 0:49 bot page selection option

post/view-gigs/exercises lets remove the "bot page selection option" entirely. we don't need it.

You mention the 3 fields here are:

  1. post a job
  2. view gigs/jobs
  3. answer a quiz

They are entirely unrelated. Please also see my previous feedback for minute 0:37, which means:

  1. there should be a "web tool" to post new tasks, which could be gigs or jobs or exercises, etc... it's all the same
  2. we will not have a tool to "view all" gigs/jobs - just imagine how we found each other. I did post a "job ad" and you applied and now we work, but you did not see an overview over all the possible gigs/jobs/exercises anywhere, right?
    • the reason: there are many messenger, social media groups, etc... all over the internet where people post gigs/jobs and we don't want to make another one, but instead we allow people to create a task (job/gig/exercise/...) and post it on an existing job/gig/freelance/etc... social media platform or messenger or whatever :-)
  3. there is no "answer quiz", because a quiz is just a particular kind of task a task author can make using the "web tool" to create tasks (the created task could be a job, a gig, an exercise, or any other type of task) ...in the end, an exercise is just a task for a learner to answer questions and maybe get a good mark in the end instead of payment ...but otherwise we treat it the same

feedback 2 minute 0:49 create job

create job

can we remove most of the stuff? ...it is ok if almost everything on the "screen" is white :-) that is cool.

can we remove:

  1. the title "marketplace"
  2. the text lorem ipsum description because we dont exactly know yet why we need it (we can add it once we know the text)
  3. the grey box with the green line in the beginning, because it does not have any function yet.
  4. you say probably the "back button" and/or "create/next button", lets remove them

I would say lets add only what we need. You say this is the page to create job. Lets imagine there was somewhere a button to "create task" (that's what we should call it, because a gig or exercise are just specific kinds of tasks)... but once i clicked the create task ...whats the first thing that i should do? ...maybe give it a title?

Maybe you can do some little google research to find ways how to make it a nice smooth experience to create a new task/job. Could be that there are some discord bots that do it well. Could be that there are some form maker or survey tools that do it well. The more minimal the better. It should feel like nothing to create quickly a new task.

imagine how discords intput bar works. it has a send icon and icons for stickers/gifs/smilies and a big + button like: + button / button

So maybe imagine it more in this direction?

Imagine you would have dozens of people you work with and on your phone you use a messenger to quickly create and assign new tasks and send them to people or post them in other chat rooms to let people apply? how would you do it?

Maybe you could just have options with create new task, and then choose the type? or have 3 options, like create new gig, create new exercise and create new proposal? (a proposal being something you propose to do and others can fund it so you are paid to work on it)

Then when you hit send, whats next? what else do you need to fill out? ...if you check our github issue structure, and the checklist document, you see how we create todos and intputs/outputs ...thats the kind of structure you need to be able to make.

here is some more information about creating forms for user to fill out and maybe they have fun ways of creating and showing forms, because making new tasks should be fun :-)

  1. https://try.typeform.com/home/
  2. https://paperform.co/product/
  3. https://quillforms.com/quillforms/my-first-form/

summary: it is better than previously, because it now is more a chat, but i would prefer it to be more minimal. I think discord is a good example, but instead of just "chatting" with text and emojis, we need formalized chats where maybe the "form bot" asks for specific information and your chat input field on the messenger bottom allows you only a few options, like e.g.

  1. option to cancel
  2. option to fill out the input the form/bot expects (if it is a number, your chat input turns into a number input field
    • if it is a multiple choice, you might get a multiple choice dropdown or dropup menu
  3. option to get help, so the bot would maybe post a short explanation and screencast video to help with what exactly is expected

**it might help to create a "workflow diagram" for all the "form step wizards" we need in our UI. I think also our checklist about how we work can help here and once we have that it could guide us with the exact interaction https://pastebin.com/mcX2yGAr


feedback 3 minute 0:49 give job description

give job description

I think something like that is probably the correct first step to start a new task, but before i give it a description

  1. i should probably give it a title and select the type (e.g. exercise/gig/...)
  2. once this is selected, the "chat history" continues to ask the next question
    1. maybe first title
    2. maybe second is type
    3. maybe third is description?

Another thing is, we might need a split screen type of thing, where in the lower half you maybe have this chat the way you started it, but in the upper half of the screen you might see a "preview" of the final task ad you are creating with all the details...

Just remember one thing - instead of a description, it would be better to create taks and sub tasks with planned inputs and outputs, so the sum of all tasks and sub tasks including inputs and outputs are the "task description" and if that is not enough, once the task description is completed, we can add an "initial chat message that all applicants will see that gives some extra description maybe?

Also - for now i would remove al "sub descriptions", like e.g. Describe what you need in short and a bit about your project requirement ...i think even Give your Job a description is too long and it should be just description ...because we are at the moment creating a task, so we basically know it is a "job description" :-)

And i would skip the "minimum word limit" ...let people do it the way they want... we can still think about that kind of limit and show it once they hit the limit, but not upfront. ...e.g. on twitter the limit is shown in a very minimal fashion

we need to be soooo much more minimal :-)


feedback 4 minute 2:19 pick time for new task

I think a task that gets created is in essence a "project roadmap", ...see our github issues. It could be a single task sometimes, but mostly its more than a single one. Most tasks do not have a deadline, but maybe only the entire project has a deadline. But tasks have "dependencies", but those are expressed in terms of planned (= :question:) @outputs and planned (= :question: ) @inputs to other tasks. Of course you can only do the next task once all @inputs are ready :-)

But what each task can or should come with is an option to ESTIMATE the task ...but this is optional and doesn't need to be done.. so we probably need a form to add a todo/task where the name/sentence describes what it is and optionally a estimated time can be given

Now if there is a project deadline, then we can also calculate the earliest time somebody needs to apply and start the task/project so that the deadline can still be achieved :-)


feedback 5 minute 2:34 budget for new task(s)

I think we should not set a budget. By having estimations for tasks or sub tasks and dependencies, we get the total amount of time estimated. If we know the total amount of estimated time, we can pick a rate to pay per hour and that will give us a budget automatically.

Now if a candidate is good and managed to do tasks faster, their hourly rate will increase

Later, every time a task is successfully marked as done and accepted, the project completion percentage goes up and some of the money is secured by the contractor ... but that is later, when we do the task and not now when we create the new task :-)

also again - this is a later step, so the chat history should already show all the previous task step message


feedback 6 minute 2:55 how to pay

payment

This is an important point, but i do not think this should be filled out during the task creation, instead this should be part of the task application process that happens when somebody applies ...so let's move it that phase later.

BUT ...lets write the process down somewhere, so maybe a text document with bullet points. i can recommend also a diagram tool like excalidraw.com or maybe you make another figma for the process for the form?

We definitely need to write down all the steps for all the different processes, not just the task creation process :-)


feedback 7 minute 3:09 somebody help to fund

good that you think of the funding part. I think the "task ad" (e.g. gig or whatever) will have those buttons when it gets posted somewhere. One button will be [APPLY] But another one will be [FUND] of course - if nothing else, you can be the first person to interact with the projects (=task(s)) once it is created and you click [FUND] to fund it and then when you post the task ad somewhere, it will only show the [APPLY] button, because it already is fully funded... so this is the way how to not show the FUND button


feedback 8 minute 4:00 task card overview

task card

I like it. This is the thing that should be shown from the beginning as a preview while it is being filled out.

But it would look different in terms of the information shown.

Here is an example task card in terms of github issues.

imagine the following:

  1. the @info section would be the "first chat posting" in a messenger to describe the project
  2. the @todo section is the split part that always shows an overview over what is going on.
    • you can see they are marked as done or open and they have a title and they are links which means chat threads
    • they also sometimes include estimated time expressed in budget
  3. if you click a specific one, for example this one
    • you can see what would be a chat thread about this sub task in our example
    • it has a bunch of @input documents created in other previous tasks
    • you can see the @info section which is just again the first chat message
    • you can also see estimated duration and estimated budget, where we will only have estimated duration when we create tasks

The estimated budget will be calculated from the specific rate that is set at some point later

of course the github issues look messy and ugly and include a lot of irrelevant extra information, but thats why we try to take the essence of what is important and make a nicer UI/UX for it

task let's make sub issues on github for different components we identify. you succesfully identified a task card component we should probably make :-)


feedback 9 minute 5:40 create your own project

So to clarify how I see this.

  1. a task (whatever type of task, e.g. gig, exercise, ...) is a project
  2. a project is just a task with many sub tasks and maybe sub sub tasks, but still it is a project

Again, see github link above for how a project is just many tasks and sub tasks, each of them can be estimated and marked as done and they can create outputs which are inputs to other tasks. a project could be a single task or as many as you want.

any additional materials and descriptions ...including additional files, should be added as or in the first chat messages below the task.

a single task can always only have a single person assigned to work on it, but because a single task can have sub tasks which have their own sub chat conversation threads, those can be assigned to somebody else and they would potentially produce the outputs that will be used by the same or other contractors in other tasks to continue the work :-)

according to FEEDBACK 0 (see above) a project is just a chat/conversation with maybe some sub conversations/threads and if you click on it in our "web tool messenger for tasks" which we are trying to build, you can see the chat/conversation of ongoing work, but you can also see the "summary card section" that shows the current progress and it should include a link to the project conversation

This project link can be shared and is usually public, but just because it is public does not mean anyone can write a message, but instead only the project/task author and the contractor(s) can interact and work towards finishing the tasks/project


serapath commented 2 years ago

worklog 2022.06.16

feedback 10 minute 6:21 create project channels

That's brilliant stuff :-)

So yes... project channel is the right thought. Project and Task should be the same, so a project is just one or more task ans sub tasks and more sub tasks, which are just more channels and sub channels/threads, etc... but let me be more specific

create project channel

So as mentioned previously in the last comment, in our little task manager web tool creating a "new conversation channel" is essentially create new task/project and then we go through the steps wizard to fill out all the required fields and when we are done it will create us a new "proect channel"

  1. the project channel will have a name
  2. the project channel might have one or more channels/threads for sub tasks
  3. the channel side bar might look like a long list or maybe more like a "file explorer" with folders which can expand
    • so a folder is a chat room/thread/conversation which has more "sub tasks/issues"
    • a file is a chat room/thread/conversation which has no more "sub tasks/issues"
    • you might be able to expand/collapse those, so the outline is the overivew over your tasks/project
  4. having many independent projects/tasks in parallel just creates many "folders" in your file explorer root so to speak

The "create project channl" form in the screenshot should probably go away and instead we have this wizard described above in the last comment that leads to new task/project channels.

One important bit to not forget is, that we need to plan @input and @output for every single task channel. And when we do that from out chat input field maybe, we can create new planned :question: inputs/outputs or link to next/from existing ones, which means we "connect" tasks, because a task with a specific input can only start once that input document has been produced in a previous task as output :-)

  1. Not to forget that some inputs/outputs are intermediate inputs/outputs
  2. and some inputs/outputs are final inputs/outputs of the project

feedback 11 minute 6:53 create project actions

actions:

  1. maybe close/delete project
  2. maybe copy link to project channel

you also mention maybe we want the project details. again each task ...could be the main project channel task or a sub thread task channel ...should have some sort of "summary" section above the message chat where we can see the details for that particular task :-)

Again, you can check our github issues to see or get some inspiration what would be included in the summary or how we do it manually currently with github issues.

BUT: you say its going to be a dropdown. I think it should not. I think those actions should be CHAT ACTIONS which means you can type those kind of commands into the chat input field of your messenger at the bottom of the screen, which includes e.g. quitting the project for example.

...so as you can see, delete/close/quitting a project ...or submitting a worklog video... is different from copying the project link

THe project link is probably somewhere listed in the summary section and you can copy it from there... it is a "read only action", while those others do make changes to the project and people involved ..they are "write actions" which can be selected by task author or task contractor ...it is role dependent


feedback 12 minute 7:58 add new channel button

This is great, but think about it. That create new channel button is basically nothing else than create new sub task button.

This means if our project/task outline of chat/thread/conversation rooms looks like a file explorer, it is similar to creating a new file/folder. Making a new folder in the root of our file structure is essentially creating a new independent project, while creating a new sub folder/file is adding a new task to our structure and doing so will automatically update the corresponding task detail section of the related channels with that new sub task channel.

Also, each file/folder, because it is a task ...can be marked as open or done and each of them has a bunch of potential @input and @outputs ...so it is not 100% like a file explorer ...but maybe you have ideas... we probably have to slowly refine and see how we are going to do that.

ANYWAY :-) ...once you create/add that new task channel... it will probably lead you through a form similar to the form when you created the initial project (see previous issue comment above this one) and you answer using yout chat input field at the bottom of the messenger to answer all the related questions for that "sub project/task" ...and not to forget, this should include potential @inputs and potentially planned @outputs.

IN FACT: ...we forgot to include any given initial @inputs for when you create a new project. So what was said in the previous issue comment above this one, regarding the steps wizard to create a new project, it should include all the initially given input documents too. that is a much better way than writing an initial chat message for a new project channel

our messenger should only support issue channels and no text channels at all and hopefully that would work, so we make the whole app less complex :-) ..regular messaging can happen outside of our "project management messenger" :-) a general discussion channel for a project can also be the "root project channel" which every project starts with before it adds lots of sub project tasks channel threads and so on...


feedback 13 minute 9:29 invite link

hmm, there should not be any invite links to invite people to a project.

  1. every project/task channel has a link in the project description section
  2. if a task is open and not yet assigned to somebody sending them that link allows them to click [APPLY]
  3. otherwise sending that publicly to social media, one or more people can click [APPLY] and we havent yet wireframed until minute 9:29 how the application process would look like and how to accept a candidate as contractor
  4. ...but once a task channel already has a contractor working on it, no new contractor can be invited unless the contractor quits or author decided to stop working with them ...we havent yet decided on the exact process when that is possible :-)

...but it should all definitly just hapen via the project link either published or privately send to somebody via another messenger app or even email and then they click [APPLY] so we dont need other kinds of invite links


feedback 14 minute 10:39 roadmapping

great - again - should be same process of steps wizard like talking to a bot or "typeform" or whatever to create that issue channel and user uses their chat messenger bottom input field ...maybe similar to how discord did it... see screenshots above.

And again - i think by now we should NOT have a info/description section.

  1. we have the task/channel title
  2. instead we have tasks and sub tasks
  3. we also have required input documents
  4. and we have planned output documents
  5. ...if all that is no enough ...it is possible as a task author to write a custom first message to describe stuff

feedback 15 minute 10:54 add todos

sweeeeet :smile: :smile: :smile: YES todos

Again ...just like what was said above i would not include an info ...ideally this should be self described in initial chat messages if nothing else is possible...

Now again - will one level of "sub todos" be enough? On github you can see that any given todo/task can actually itself be yet another sub project with many tasks and it needs discussion. I agree, not every single todo will be like a link to another github issue, so some are just simple textual todos that can be marked as done.

Given what was said above:

  1. that means we have todos that are sub channels like maybe sub folders in a file explorer
  2. we have some todos which are like files, so you cannot open them to see sub tasks
  3. ...but a simple task could later be turned into a folder, which means it would get additional sub tasks
  4. also not to forget the related inputs and outputs which are potentially linked to each task/todo

...if you would add more sub levels of todos this approach shown in the screenshot above would take a lot of space, therefor maybe we should think about it a bit more. Tell me what you think

Also: Another todo (whether todo that has sub todos or just a simple todo) it should probably be created with the messenger bottom input field bar ...where some chat actions similar to what can be done on discord would allow to create new sub todos. ...but maybe starting that process could also be done from hotkeys or from the side bar that shows all the existing project task channels :-)

also again - while you fill out the wizard, you might be able to cancel or undo/redo, etc... just like what was initially described and above when i said that during filling out a steps wizard form, all progress should be previewed and you could again change things as described above. ...which includes estimating time, choosing inputs from other planned outputs of other tasks in this project ...or planning outputs of that task or of sub tasks, etc...

IMPORTANT: Don't forget to have a mobile first design, so all of this should work on a mobile phone :-)


feedback 16 minute 12:42 task/project summary

great. sub project card

So this is like a sub project card we had that already when you introduced the task/project card in the beginning. the sub project card is not so different i think it should be above every single project chat to show a summary of what is being chatted about

QUESTION

  1. what is the drop down button doing? do we need it?
    • if it is for expanding/collapsing task /project details, i agree - i think you say it later in the video
  2. cool we have a "ADD SUB TODO" button :-)

now that should be possible with hotkeys too now that should/could be possible as a chat action from our main messenger bottom input bar (discord style) now that should/could be possible from the side bar that shows us all the project/task channels and we can make a sub channel

Some tasks might not have its own channel, which i think should be the case when they are just simple textual todos that can be marked as done ...but every such simple textual todo could eventually be turned into its own conversation sub channel.

in my opinion we should have for every possible action exactly one hotkey and one visual way of clicking at most But everything should always also be possible via the messenger bottom input field bar (discord style)


feedback 17 minute 13:47 add sub todo form

add sub todo form

haha, and here we are again :laughing: :100: I agree it is of course needed, but we had this already a couple of times.

So adding a new project (sub) channel or adding the initial task at the beginning of your presentation or also adding in general any kind of task/todo/project thing ...always requires an action which starts a wizard steps form to fill out whats required and here again we need:

same as above:


feedback 18 minute 14:03 show sub todo

show sub todo

This is not bad in terms of that we of course need it, but it is bad in terms of how much screen space this all uses

  1. we have the main project side bar and with the tasks/sub tasks bar
  2. and now we even have just 2-3 sub tasks and with their description they take almost ALL OF THE SCREEN SPACE

This is not goo at all. Let's focus on making this work as a mobile first app.

  1. How will this work on a mobile phone?
  2. Also - if the task names are descriptive its good enough, especially when they include linked inputs and outputs (which might contain the remaining important information anyway)
  3. and if this is still not enough, ...we can always allow the task author to write an initial chat message with some additional information

GOAL: Let's try to make this into a little todo list app for the phone to share e.g. a shopping list with a friend so they can quickly go and buy some milk or bread or eggs or whatever and scratch them off the list (mark them as done) ...super basic ...more like somebody would make such a short shopping list on paper and we now have an app version of it.

if this is our goal - it will become a lot more minimal and mobile first will not be a problem :-)


feedback 19 `minute 14:28 drag and drop todos

So i agree

:+1: ...similar to how you can drag'n'drop files/folders, you might want to change how you arrange the tasks and sub tasks. :+1: ...yes each task description would show yout he accumulated estimated time/budget for all the sub tasks

one thing to have in mind is, that the real structure of the todos, which means tasks and sub tasks is NOT given by how they are described as tasks and sub tasks, but the real structure will reveal instead through the @input and @output documents and which outputs of some tasks will be inputs into other later tasks ...that is the real dependency structure and it might not be the exact same thing as how we maybe artificially group and nest tasks manually. ...so maybe the side bar which shows the channels and might look like a file explorer ... should have another view mode where it shows the *task network** the way it works in gantt/pert charts where each task - if it has an estimation and the final task has a deadline and all tasks are connected via arrows derived from the inputs/outputs relation ship, then it is possible to calculate the start and end times of each tasks and figure out ...based on the dependencies and the final deadline and the estimations, when each task has to start the latest so that the deadline can still be met :-)


serapath commented 2 years ago

feedback 2022.06.21

a quick extra thought. please feel free to clean up the task list in the top level comment here with all the tasks/takeways from my feedback.

because all worklog comments produces should reference which exact tasks you have been working on and so those tasks need to be created from the feedback i give and you can :question: plan the outputs you are going to produce, which at the moment is probably mostly wireframes :-)

i got some additional inspiration from working every day.

there might be some conversation about a task in a chat like fashio like what we do here ....and there is alwasy a bunch of messages in between one and the next worklog, including all the feedback i give, so maybe ... those messages should "fold" or "collapse" into one worklog entry that is expandable ...to see those again. ...its all the chatting that happens in between one worklog video and the next?

This way somebody scrolling through the issue comments can see worklog after worklog and the outputs, but they can expand the chatting and feedback between worklogs to see details ...otherwise its is A LOT :-)

Ok - just wanted to share that, i will now continue with the remaining feedback in the following comments

serapath commented 2 years ago

feedback 2022.06.21

feedback 20 minute 15:57 top menu bar buttons

So i think you said the top bar is a search field? It also has a button to see the people in that project?

I think each project/task channel has exactly one person in. if a project needs more than one contractor, it has to be split into multiple tasks, so that again each task can have one person so the "person" or contractor can be always shown next to the task if the task has a conntractor who applied and is assigned.

There is no such thing as a group chat for now where multiple people can chat at once at least for now.

Otherwise The serach/filter functionality should happen from the messenger bottom input field bar. clicking maybe a search or filter action icon, the input bar turns into a search/filter and whatever the user types is used to search/filter the "chat history" instead of "sending" a new message.

Thats how i would approach it to keep the interface super minimal.

sub tasks

Also - on a side note - because you again show it.

  1. first red circle is projects
  2. second is the bar with sub issues
  3. then comes sub tasks/todos
  4. then comes the main card with multiple sub tasks

it occupies all of the space but in fact it is all the same or should be. Think of the minimal shopping list on a paper to grab a bunch of groceries from the shop but as a mobile app.

So mobile first, the first red circle that shows the projects should just be a list of tasks. And then each task can have sub tasks which can have sub tasks which can have sub tasks, and so on ...

  1. will that show like a file explorer with folders and sub folders that can expaned/collapse?
  2. will it show just as a single list of task rooms but when you click on one, i will just show the list of sub tasks
    • but clicking one of those sub tasks just jumps to that sub task chat room in the single side bar list instead of expanding
  3. will clicking on a sub tasks chat replace the side bar of chat rooms to only show the sub tasks, but:
    • you have a .. button to get one level up to the "parent task"?
  4. do you have other ideas based on the gantt/pert chart or google searches for inspiration how this could look like and work on mobile first instead of desktop?

lets just simplify this structure a lot :-)


feedback 21 minute 17:03 worklog

cool that you did the worklogs. a worklog is a particular type of message you can write as a contractor in a task/project chat room using the messenger bottom input field bar.

a task has:

a worklog has:

a worklog can be followed by some back and forth chatting and discussion to clarify things, etc... until it is followed with an official feedback from the task author

a feedback:

everything that was accepted as a finished task or output document and the time that was spent on those is counted as work done and automatically triggers the updates to invoices and pending payments to the contractor


feedback 22 minute 18:38 worklog button

worklog button workglog form

YES :100: exactly - the task messenger bottom input field bar should have a worklog action to create or go through a steps wizard to fill out a new worklog ...lets be inspired by discord or rather also the typeform and other links mentioned above to online form creator tools ...to make this as smooth as possible and have a little worklog card preview while filling in the data.

The worklog form as such as shown in the screenshot should be typeformified into a steps wizard by typing each step and sending it like a chat message to create the form ...it should be similar to the steps wizard to create a new task :-)

  1. worklog title :+1:
  2. what have you done today => needs to be an item list to select one or more existing tasks
    • and for each task write how long it took
    • and attach all the output documents which are planned outputs for those tasks
    • as you say: dropdown is great + if it doesnt exist just type into the autocomplete dropdown to propose it
  3. if task have been worked on that are not yet listed as tasks or outputs produced that are not yet planned outputs of tasks
    • those go into proposed tasks that need to be agreed/accepted first by the task/gig author to go through
    • so it is always better to propose new/changed tasks and inputs/outputs before working on them
    • but if the work already happened, the corresponding tasks/inputs/outputs can also be proposed later
    • again autocomplete dropdown to select the "planned output" that th given/added file/link document is for
      • just type and propose a new output for the new file/link attachement if there is no planned :question: output yet
  4. the date/time of the work is irrelevant, because it gets published when the worklog is submitted
    • the rule is anyway that every day where work happened a 3-5 minute worklog should be submitted :-)
    • if it is forgotten, multiple worklogs can be submitted the next day for example and counted.
    • it is not so important when the work happened, but when it is submitted, because thats when others can make use of it
  5. attachements ...that should be all in form of outputs for specific tasks as written above. there are not attachements that are not outputs of tasks
    • for now the type of an attached output is auto detected. ..it can be a file or it can be a link ...everything else is for later
    • but ideally always auto detected, so no need for specifiying that manually
    • so the attach button you show is basically next to each task that has been "logged" with time and it allows to
      • attach links/files documents for each planned output of that task or propose a new output or even task with outputs
      • ...if there is not yet a planned task and/or output for what was produced (which can happen)

All of this allows editing/changing until it is/was accepted by a task author, because then it becomes uneditable and part of the contract and payments are updated too.

again ...if you think of a little grocery shopping list and how minimaml this is. How could all the above be a simple as possilbe. ... just a little autocomplete input field, etc... everything very minimalistic so that it all looks like no effort instead of big menus with lots of stuff.

:100: for the button send/upload worklog to be displayed in the chat history of one or more task chats :smile: ...basically all of those that have been mentioned/referenced in the worklogand the task author is getting notifications for it.

worklog card The worklog card in the task chat should of course be as minimalistic as possible and if needed maybe it can expand to show more details and otherwise instead of lots of text it shows in the screenshot here, it should just minimalistically show the tasks, times worked and output file/links ...the date/timestamp for example just comes fomr the regular date/timestamp that every chat message anyway has ... no need to make that special :-)

Also as soon as the worklog was accepted by the task author, it will update all the parts in the "task summery section" on top of each task chat with what has been done so far :-)

REJECTION sometimes maybe a worklog is not yet accepted and requires to fix some stuff, like maybe the figma link attached for a planned output shows not the correct view of the latest outputs, or maybe there is a typo or something is unclear.

ACCEPTED once a worklog is accepted, all the intermediate informal chatting can be hidden/folded and expanded if anyone is interested in the details of what happened between worklogs or between posting and accepting a single worklog :-)

:100: :1st_place_medal: thx for all the cool wireframing. I just googled TASK MESSENGER and found this ...doesn't look like something big, but i think it is the right direction to go, but of course, looking at it, out concepts are a lot more refined than what this link shows.


feedback 23 minute 23:54 message emoji buttons

i understand what this is about i think. YES, we need to accept/reject worklogs. i just talked about it. those should be regular chat actions and a feeback message will accept/reject all or parts of the worklog. it could also require to correct parts of the worklog before it get accepted, etc...

I would not call it an emoji, but it is a chat action, a contract action ...but of course it could have a little emoji when we theme it maybe a :x: REJECT or a :heavy_check_mark: ACCEPT symbol, that is t rue and in general each type of chat entry could have an emoji symbol based on what type of message it was ... a normal chat message, a feedback message, a worklog message, etc... ...and the task messenger bottom input field bar can have options to create all these different kinds of chat messages and actions :-)

And YES, once a worklog has been accepted, task overview and stuff gets automatically updated including to maybe automatically triggering payments :-)


feedback 24 minute 24:32 manually checking tasks

NO :-) ...lets not do that. yes, we do it like that at the moment, but the point of the task messenger is that it is strict and contract based, so tasks can get created and maybe tasks can get canceled by a task author, but what has been accepted in the meantime (parts of it maybe) has to be paid and tasks only get marked as done when a worklog is accepted.

We might need to think about all the options, but there cannot be such a thing as just manually marking a task as done, because that doesnt make sense to me - when would that ever be needed? ...it should be automated based on chat actions.


feedback 25 minute 25:42 job market place

haha :-) i like how in the end you say we have for now the job market place, but ...it probably needs to change.

Yes, i think we will not have a job market place. it is not a job market place. it is a messenger to create tasks, like making a grocery shopping list and invinting somebody to do the job maybe ...but its not a place to discover or find open jobs. this is what happens on existing social media by posting links to tasks and people can apply (and we need to see how the application process works, etc...)

job marketplace

But no general overview over all possible tasks that exist. we won't have that.

So NO i think we will not have any screen where you can see or browse through all the jobs created.

Also no filter to filter through them ... filters are an action of the task messenger bottom input field bar to quickly find messages in a particular task chat or sub task chat

BUT when you post a link to a particular project/task on social media, it will have an [APPLY] button but it will also have a read only view so somebody can click and explore it, but they cannot write or change anything, just see and study what it is about. ...its all public to read and so people can also see what is happening and learn from it.

The APPLY process needs to include posting some portfolio links (which might actually be public links to task messenger projects a contractor has been doing in the past :-) It also allows the contractor or applicant to ask questions. And after some time they either agree to proceed or not.


Hornet004 commented 2 years ago

Suggestion 2022.06.22

General feedback

I understand all that is said in the general feedback, and I'll put them into consideration in the next designs...Regarding the Lorem text... I strongly suggest it stays because It's there to tell any designer that content is going to be there unless you want me to use boxes that would be tough to understand else if no dummy text or box, it becomes empty which would be harder to understand unless explained. The same applies to the "Marketplace "---at some point the bot is going to have a name even if it's "BOT" or a "BOT tag" perhaps if it's not decided yet, we give it a dummy text so we know that place holds a text.

Hornet004 commented 2 years ago

worklog 2022.06.29 worklog 2022.06.29 worklog 2022.06.29 worklog 2022.06.29 worklog 2022.06.29 worklog 2022.06.29 worklog 2022.06.29

serapath commented 2 years ago

feedback 2022.07.04

worklog 2022.06.29 worklog 2022.06.29

home screen good, but can we move the title bar to the bottom? thats how we do it for all our wireframes at the moment - always on the bottom.

empty telegram screen empty whatsapp screen

and then a user would click the button on the bottom of the screen to select an action, like create new task/project/exercise/proposal :-)


task rooms overview task rooms overview2


plus button action

We need to think about APPLICATIONS for a task though Also it needs to be possible to FUND a task :-) and also which action can be used by somebody depends on their "role" (contractor vs. task author)


task room

the upper part of that chat should when task is created, the upper part of the chat screen shows the task summary. And when users chat to add a todo and fill out the form, it modifies the summary on top.

todo form details

One more thing: Maybe having all this in one big form is a big scary, so maybe instead it could be a form with steps (=step wizard) to ask for one information after the other?

While going through those steps, the place where the + button for choosing e.g. "add todo" was, could be replaced not just by [cancel] but instead by [<][cancel][>] so a user can cancel but can also go next and back between form steps they already filled out.

And on top of the screen there could be a little "summary card" that shows the preview of the details for the final todo and how it will get added if the user fills out everything and clicks [send] in the end :-)


task card So this looks great and its what somebody should see before they either fund or apply for a task, but i think this should be "on top" of the screen, kind of like a topic bar on the top of the screen and then below that card is the empty chat where the task can be discussed.

details task chat


serapath commented 2 years ago

feedback 2022.07.04

worklog 2022.06.29 worklog 2022.06.29

home screen So the home screen is weird to me.

  1. the top menu bar should be on the bottom and merged with input field
    • we would hope we can skip having a top menu bar altogether
    • and search is just one option you can select from the + menu
    • basically the "created projects" puzzle icon should change to what i say next:
  2. maybe we need a little extra icon to show the menu (in discord they use a :hamburger: menu in the top bar), we should use a symbol like 📇 or 📑 or 📔 or 📒 or whatever to show the list of all task chat rooms ...similar to how discord on mobile shows it, but as said - instead of the hamburger menu on top we have it on the bottom next to the + button of our input field :-)
  3. i don't understand the quick task/exercise or projects, i think that should be in the menu and maybe when a user comes to the app they could see that by default or they would see the task room they opened last and they can click the icon to show the overview of all task rooms :-)
  4. that image/text in that screen is not needed, ...the only time we might use it is if a user opens the app for the first time (see telegram/whatsapp example in previous comment) to tell them how things work ...probably it should include a little video or "workshop" to teach them about how to use the "task messenger" :-)

add project so the + button should probably be on the "left side" of the screen, because that is where also later the bottom input field has the + button, right? :-)


details i think i would rather have most of the screen white and like said in the previous comment and that descriptive text is unnecessary, because the form steps and preview card will show it anyway and a user can always go back and forth or cancel ...so they can learn how things work and once they know, the descriptive text is not needed and just more visual clutter that makes things messy. The form and its steps are mostly self descriptive already


form i think you have too much variety in the forms at the moment. we literally have

  1. gig (=task?)
  2. exercise
  3. proposal

technically they are all the same, so it doesn't even really matter, but i would not make now also todo and project ...we should decide on a minimal set of those.

And if a user selects the type, the type can be shown in the preview card on top of the screen, but the next step in the form now only asks for the "descriptive name" of the task

I don't think we need also "description",let's remove that. We describe the task by creating inputs, outputs and sub tasks. A user can make an input document with a description if they really want or they can write a first chat message once the new task room was created.

Again - payment - like mentioned above - should be about estimating time resources :-)

And the bottom button is the input bar with a next/send button at the end :-)


add todo adding a subtask (=todo) is great :-) ...but the "skip" button should be part of the bottom input bar form step and if you wanna skip it you just press "NEXT" immediately without adding any sub todos/tasks

Keep in mind, every sub todo might eventually also be its own sub chat room.

So - the task card preview on top should probably show all those tasks in some sort of "file explorer preview" similar to the video i linked in my previous feedback comment.

Otherwise, the inputs/outputs is cool but even the initial task before adding any sub todos, should already have the option to add inputs/outputs too

Just keep in mind that should be added from the bottom input field, where you could select it as an action in that step of the form steps using maybe a + button and then if you selected input for example, you can type and get autocomplete dropdown of all existing outputs of other tasks to choose from and then hit next to add it ...so you can proceed adding another input or output, etc...

This + during the form wizard steps of creating a new todo could look like sub plus button and it shows as a temporary + button for actions relevant in that specific form step (steps wizard), when the user can add inputs/outputs for example

But all the actions should always be triggered from the bottom command "chat" input field bar :-)

We might also want another review stage for inputs/outputs, which could use a symbol like: :thermometer: or :label: or :mailbox_with_mail: or :balance_scale: or :microscope: or :telescope: or :stethoscope: for example ...any of those you think is best to indicate a "review" phase?

..but no hashtag, because the task itself should be that and the rest can be later inferred from the file name or the file ending, etc... let's keep it simple for now. Adding an input/output later on will automatically figure out from which message in which task chat room it came


serapath commented 2 years ago

feedback 2022.07.04

worklog 2022.06.29

summary

So that is the thing that should be shown as a collapsed summary in the task room topic bar on top of the screen or expanded as a task summary card with exactly this information. The collapsed version can be a one liner so it can be used in the task room list for overview over all tasks. The expanded version can show when you open a specific task room chat. It also shows while a user creates it or edits it and fills out the form steps :-)

The buttons proceed/skip/add_todo should be actions in the bottom input field action bar.

otherwise i agree with stuff :-)


channel overview so how channels should look like was said above including my little recorded screencast But it also shows the task channel (e.g. for "roadmapping")

task room BUT the task summary is - as said above - just a topic bar summary that can be expanded to show a task summary card ...and then below is the chat history ...which is in the beginning empty ... and then actions like edit should be just one option behind the bottom input action bar + button. BUT a user cannot edit anything that was already agreed on and finish. it becomes unchangable and has to be paid. it is a contract and a contract cannot be arbitrarily changed at any point


overview as said above - you have the right ideas in there, but lets iterate on this a bit more.

  1. main (project) task
  2. sub tasks of projects
  3. sub tasks of tasks

there is no limit to how many sub levels are possible and even a main (project) task which has outputs ...those can become inputs in new tasks which makes those new tasks a super project of that project task.

A task who's output becomes input in 2 or more other tasks is technically a sub tasks of BOTH of those follow up task and not just one, this is why i talked about "linking" a task similar to how you can "link" a file or folder in your filesystem in more than one place.

now expanding/collapsing the different tasks and sub tasks is great.

More than that i would say a user can always create a task for themselves, for example a task called self organization and then they create or link all the important tasks they want to work on as sub tasks ....those important tasks can come from different projects too ...so basically the self organization (which could also called quick bookmarks is just an easy place to see all the currently important tasks if the list is otherwise long :-)

But doing it this way means any user is flexible to use the tool the way they want instead of us deciding that there will always be a "quick task/exercise" category ...let users make it if they want to and otherwise it is all just a single long list with sub items and sub sub items :-)

You say again: anyone can just come and create a task without the need to create a project ...i think thats true and a task if it has sub tasks is already becoming a project, so why make the "distinction" at all :-)

So let's just say at any time, any task can get as many sub task levels as a user wants and a task with no "parent super task" ...you call it a project ... can technically later become a subtask of a new project, when the new project uses the outputs of an old project as inputs ...so that is why it makes no sense to make the distinction so strict.

everything is a task or everything is a project

...a project can be a single task with no sub tasks at all or it can be endlessly complex thats fine.


cancel button

I like how the + button becomes a - button while the menu shows. This is the [cancel] button i was talking about ...can also be used if there is many steps of a form that will follow


task room example

THIS IS COOL

  1. it has the input field action bar at the bottom
  2. it has a bit of chat history in the task chat room
  3. it has the task expandable/collapsible summary card in the channel topic on top

PERFECT... :star_struck:

:heart::heart::heart: i love the icon for task list menu :-)


serapath commented 2 years ago

feedback 2022.07.05

worklog 2022.06.29 worklog 2022.06.29

  • doing Mobile First iteration 1

action menu

Just wanted to quickly repeat some of the actions we might need.

  1. new task
    • should start a wizard where a user types the descriptive name
    • and can choose if the task should have no parent super task, which makes it a new standalone project or task room basically
    • or they choose a parent task (which can by default be the current task if the user selects it while being in one task room already)
    • and then additionally they can select if it is just a textual todo or if the new task is actually also a sub task chat room too
  2. worklog is only available to a contractor after they have been accepted when they apply
  3. there is also feedback which is only available to the task author
  4. and assign task action is also only available to the task author unless an applicant has been accepted, because that is a running contract so the condition under which it can change are subject to details we will not include in the first iteration, but requires first to cancel an existing contract before assigning a new person which means accepting a new contractor
  5. generate invoice is only available to the contractor after they did worklogs with outputs that got accepted in the task author feedback
  6. pay invoice is another action only available to the task author once an invoice has been filed

**So this shows we need to later make wireframes where the task chat room is shown (maybe with different colors) to indicate which role is using it. is it task author or contractor?


input/output

As said earlier. The form and everything is technically correct, but the style is not.

So this should all be done in form steps based on the selected action in the bottom action input bar and while adding inputs/outputs/etc... the summary card in the topic channel on top should slowly show the preview ....that way we have the same result as shown in this screenshot, but its a different more consistent style.


invite screen

all said before - invite preview box is cool, but name and that its an invite description should be part of the card box. and the remaining part of the screenshot is something a person can explore before clicking for example [apply] but thats all described above in the comments already :-)


one more thing about the "overview" over the task list. You have the number indicators (thats notifications?). This is cool, but the chat should have an indicator line similar to discord to show what you did not read or see yet since the last time you checked a particular task chat room.


Also, ...i think once you have let's say 3 people who clicked apply ...how does the interaction with those candidates look like before a candidate gets choosen? We don't have wireframes for it yet i think.

It is cool that a candidate can be "assigned", but if a task has lots of sub tasks and 3 people apply, maybe all of them can be accepted but they get assigned to different sub tasks :-) ...that is what i in the end did with you and helenphina and even joshua alexander, even though he never showed up in the end :P


Also we do not have yet any wireframes for when somebody wants to "fund" a particular task

Hornet004 commented 1 year ago

worklog 2022.07.17 worklog 2022.07.17

serapath commented 1 year ago

worklog 2022.07.17 worklog 2022.07.17

  • doing Mobile First iteration 1

Ok, watched your videos and also after some discussion on discord, i thought i give feedback here, but i try in screencast format

https://watch.screencastify.com/v/Yoyeda9rsUl3semRvLRI

Hornet004 commented 1 year ago

worklog 2022.07.24

serapath commented 1 year ago

worklog 2022.07.24

cool, first impresion - looks great :-)

pic1 first impression:

  1. second half of the picture:
    1. write button js, css and html does not look like it was a "sub task" of implement button
    2. demonstrate button preview also doesnt look like it is a sub task of something
  2. first half of the picture looks ok, but i literally have to check item by item - a quick glimpse makes it look chaotic.
    • for example implementation is technically a neighbor task of ui/ux design and dit lines up, but if it wasn't for those orange helper lines it wouldn't be super quick to see.
    • ...so i am overall not sure if it is a good idea :-)

pic2 This one looks much cleaner, which i like.

  1. I can see tasks and sub tasks
  2. I can see inputs or maybe outputs too? but not both?
    • it is inclear to me whether the :question: are inputs or outputs
    • also none of the tasks with those :question: seem to have further sub tasks either on this picture

...but if that is possible, i definitely like how clean it looks even though it has no lines :-)

I was also thinking, maybe we need the :outbox_tray: and :inbox_tray: as an icone that toggles from :outbox_tray: to :inbox_tray: when you click it and indicates "expanded" or "collapsed" - in general, every icon we use should indicate something. There are plenty of emojis we can use :-)

Cool thing with emojis is, that this makes sure it will work in a terminal too later on, because many developers work exclusively in the terminal it is definitely a bonus if the UI works in a terminal too :-)

todo i think for the next iterations of the wireframe, we should also try to use figma for interactive prototypes where we can model a scenario between a contractor and a client, where they actually work on a couple of tasks.

We can then slowly start refining that "scenario" and the "interactive prototype" to include all the features we need based on some sort of work for an imaginary project.

📌📭┬🔳roadmap🔗
    ├📭┬🔳UI/UX design🔗
    │  ├📭┬📤┬🔳design button🔗
    │  │  │  └➖┬❓button-repo/
    │  │  │     ├🖇️🔳implement searchbar🔗
    │  │  │     └🖇️🔳implement button🔗
    │  │  ├📤┬🔳make button icon🔗
    │  │  │  └➖┬❓button-icon.svg
    │  │  │     ├🖇️🔳implement searchbar🔗
    │  │  │     └🖇️🔳implement button🔗
    │  │  └📤┬🔳wireframe button🔗
    │  │     └➕─❓button.fig
    │  └📪─📤🔳design searchbar🔗
    │ 
    └📭┬🔳implementation🔗
       │     ┌📥❓button-repo/🖇🔳design button🔗
       │     ├📥❓button-repo/button-icon.svg🖇🔳make button icon🔗
       │     ├📥❓button-repo/button.fig🖇🔳wireframe button🔗
       ├📭┬📤┼📥️🔳implement button🔗
       │  │  ├➕─📦button-repo/button.js🔗
       │  │  ├➕─❓button-repo/button.css
       │  │  └➖┬❓button-repo/button.html
       │  │     └🖇️🔳demonstrate button preview🔗
       │  └🔳write button js, css and html
       └📭─📤─📥️🔳implement searchbar🔗

So if i compare your project structure with this example structure above, i think it would be better to adapt things.

  1. make button icon and wireframe button are sub tasks of design button

...but in your example they are not

  1. roadmapping and UI/UX design have different icons than design button

...but it doesnt make much sense to me. Is it because ui/ux design has sub tasks but no inputs/outputs and design button has only inputs/outputs but not sub tasks? ...that would make some sense, but then again, in the above diagram, design button has sub tasks too, so therefore, lets find a project structure example that covers all the edge cases our "diagram langauge" or component needs to be able to express :-)

pic3 also here, there is an input/output icon at the end of "implement searchbar", but maybe that doesnt have any meaning?

Maybe this is why an "interactive figma prototype" would make sense.

I feel with the chat and the action bar and the task tree menu, we really have the major building blocks to maybe try.

pic4

the bright and faded arrows to open/collapse the tree is a good idea. it definitely works and makes it lighter on the eye. awesome. ...too bad those arrows don't seem to exist as emojis. ➢ ➣ ➤ ◄ ► ◅ ▻ ◀ ▶ ▲ ▼ ➤ > ˃ ˂ ᐸ < ᑉ ᐱ ^ ˄ ˅ ᐯ ⌃ ⌄

at least there are some unicode characters like the ones above and then again even terminals support colors, including white but also dark gray ...so maybe that could still work. terminal colors

Of course - in "the best case" it will be very readable. But for me the question is also - in "the worst case", when many things have many sub tasks and inputs and outputs and so on ...will it still work? ...of course, when things get a lot and very detailed it will always be a bit more messy, but not every project will have all those details, but just in case we are dealing with the most complicated situations, does it still work?

I think thats what we should aim for when we create an example project structure for the interactive figma prototype :-)

We probably have to refine the project example scenario multiple times to add more details to show all the features of the "gig/exercise component" or rather "task messenger" component we are working on :-)

pic5 amazing move to add the "next" tasks at the end of the input and indent them a lot. Still - maybe by default the button-repo could show a little number that indicates the amount of tasks it is used in and when a user clicks, then it expands and shows those tasks, because i might expand inputs/outputs to see them when i work on design button task, but i might not always want to know the "next tasks" ...unless i do want to know.

One idea is, that as a project manager i would want to expand the "next tasks" to see some more details to maybe understand or remind myself what they were about and then collapse them again. Also - if names of tasks and outputs are long and nestedness is deep, you might not be able to see the "next tasks" anymore without scrolling to the left ... you can see some names are already shortened like implenent search... because there is not enough space.

pic6

so what you are seeing here is many things. I can show some snippets i already posted on discord earlier.

📌📭┬🔳roadmap🔗
    ├📭┬🔳UI/UX design🔗
    │  ├📭┬📤┬🔳design button🔗
    │  │  │  └➖┬❓button-repo/
    │  │  │     ├🖇️🔳implement searchbar🔗
    │  │  │     └🖇️🔳implement button🔗
    │  │  ├📤┬🔳make button icon🔗
    │  │  │  └➖┬❓button-icon.svg
    │  │  │     ├🖇️🔳implement searchbar🔗
    │  │  │     └🖇️🔳implement button🔗
    │  │  └📤┬🔳wireframe button🔗
    │  │     └➕─❓button.fig
    │  └📪─📤🔳design searchbar🔗
    │ 
    └📭┬🔳implementation🔗
       ├📭─📤─📥️🔳implement button🔗
       └📭─📤─📥️🔳implement searchbar🔗

if you have things expanded like above and then you click into the empty space in front of implement button, like this:

    │ 
    └📭┬🔳implementation🔗
👉     ├📭─📤─📥️🔳implement button🔗
       └📭─📤─📥️🔳implement searchbar🔗

it will "bookmark" or "pin" this task. Maybe because you currently frequently work on the task and don't want to always expand roadmap > implementation > implement button ...but just see it directly so it turns it into:

    │ 
    └📭┬🔳implementation🔗
       ├🖇️🔳implement button🔗
       └📭─📤─📥️🔳implement searchbar🔗

📌📭─📤─📥️🔳implement searchbar🔗

now if you expand implement searchbar, you can:

  1. expand sub tasks (clicking the postbox)
  2. expand to see all inputs (clicking the inbox)
  3. expand to see all outputs (clicking the outbox)
       ┌📥❓button-repo/🖇🔳design button🔗
       ├📥❓button-repo/button-icon.svg🖇🔳make button icon🔗
       ├📥❓button-repo/button.fig🖇🔳wireframe button🔗
    📌📭┬📤┼📥️🔳implement button🔗
    │  ├➕─📦button-repo/button.js🔗
    │  ├➕─❓button-repo/button.css
    │  └➖┬❓button-repo/button.html
    │     └🖇️🔳demonstrate button preview🔗
    └🔳write button js, css and html

    so implement button has:

  4. one sub task write button js, css and html
  5. three outputs .js .css and .html
    • .html file is used as input in demonstrate button preview
  6. it also has three inputs
    • button repo/
    • button-icon.svg
    • button.fig wireframe

what is the reason why somebody would want to pin something?

imagine your project is to build an airport so you have a roadmapping (for airport) task then you have the main areas of the airport then you have in each area many building sections maybe you have many buildings in each section then you have a specific building in one section then you have a specific floor in that building section then you have a specific corridor in that floor then you have a specific room in that corridor then you have a specific part of that room in that part of the room there is also a display that display is connected to an IT system that runs software that software has a bunch of sub components one of those sub components is ....

i don't know - or maybe you have the electric cables for that projector, but the point is, that if your project is large enough and you are working on one tiny part of it ... you might not care for the large overall structure of the project, so you want to PIN that particular task you are intereted in and forget about the rest for now :-)

also - if you would expand sooooo many levels in the task tree menu, you would need to start scrolling to the left a lot, because it just doesn't fit onto a mobile screen anymore.

Hornet004 commented 1 year ago

worklog 2022.07.27

Hornet004 commented 1 year ago

worklog 2022.07.29

Hornet004 commented 1 year ago

worklog 2022.03.8 worklog 2022.03.8 worklog 2022.03.8

Hornet004 commented 1 year ago

worklog 2022.06.8 worklog 2022.06.8 worklog 2022.06.8 worklog 2022.06.8 worklog 2022.06.8 worklog 2022.06.8 worklog 2022.06.8

serapath commented 1 year ago

feedback 2022.08.08

worklog 2022.06.8 worklog 2022.06.8 worklog 2022.06.8 worklog 2022.06.8 worklog 2022.06.8 worklog 2022.06.8 worklog 2022.06.8

Great worklogs. First - there is one or more tasks missing. The figma link2 output does not list a task, e.g.

This is just an example, but if you could edit your previous worklogs to update that and then also update the top level @todo comment with the output and mark those tasks as done, that would be cool :-)

serapath commented 1 year ago

feedback 2022.08.08


FEEDBACK

First - can we start making a glossary document? :-)

I think defining all

and then consistently using those names will help us a lot. We might need to go over this a few times and refine names, but coming up with a concise way of talking/naming everything will help in general


01. copy link

let's call this invite link

clutter

  1. yes only task author has copy link icon
  2. let's split the wireframes into roles => we need the "scenario"
  3. still - how common is the "invite/copy link" action be used?
    • does it justify those many visually cluttering copy icons?
    • or is it okay to only show the copy link when a user enters the task chat?
    • i think entering the task chat first is just one more click but cleans up the task overview significantly
    • so we can get rid of all these duplicated copy icons alternative

02. task (tree) menu

let's call this task menu

I assume your definition of "todo" is a task that does not have a chat or sub tasks And a "task" would have a task chat and can have sub tasks.

Anyway...

GOAL: Maybe I should try to define one of the most important goals, which is:

  1. While it is possible to just use it as a simple grocery shopping list
  2. The app should allow and make it as easy as possible to have infinite sub and sub sub tasks
  3. we can use tricks like collapsing/expanding and "pinning" to hide the currently not important parts
  4. Whatever we come up with we want to minimize (1. visual clutter, 2. amount of "clicks" to do stuff)
  5. important: we design for an transparent open source peer to peer way of working together on tasks

The last point does not mean users can do everything, it is often READ ONLY until they get accepted to also have write access

It is because this app should support any kind of project, from a grocery shopping list to running an entire country. Projects can start small and grow bigger while people work on it, so simple todos can grow into large sub trees of sub tasks and sub sub taks. Also, a task delegated to a worker can also grow when the worker outsources work to others and creates more sub tasks and those sub workers might repeat the process, so maybe you have 10 workers working on sub tasks and sub sub tasks and sub sub sub tasks...

So - one major goal of the app is to support this - which is why we aim for solving it and not avoiding it :-) The structure needs to be able to grow like a tree with new branches and so on all the time, so a tiny project can always be extended into more details as time moves on if necessary. So the whole point of the app is that it needs to be able to deal with infinitely growing todo trees :slight_smile:

note: because it is open source, somebody can later take the code and make a variation that has also the privacy/closed features, but let's put this on the side for now and leave it to somebody else or maybe us in the future, once we have the app.


03. roles

roles i like it, but lets rename them to something short

let's call the roles candidate when they apply, funder, provider, client

  1. candidate [apply]
  2. funder [fund]
  3. worker / provider
  4. manager / client (= task author) (= task creator) (= contractor)

Elsewhere we still say worker and manager but that comes more from employment. A modern self employed and self organized "worker" doesn't need a "boss" in the same way an employee needs one. So I think provider and client is much more appropriate

If you feel that "contractor" is different from "client", then let me know. Otherwise, I think "contractor" is confusing, because it could be the "client", but it could also be the "provider" It all depends from which perspective you look. From my perspective you are the contractor and I deal with many. From your perspective i might be the contractor. ...so i would rather avoid ambiguous terms.

So basically - there are no hierarchies anymore as in: "a contractor is also a worker but higher than a worker of a contractor" No matter who you are, it is always either provider or client and nothing else.


04. apply / fund buttons

let's call this apply button and fund button

When somebody creates an invite link for a task, they can choose to

  1. show only APPLY button
  2. show only FUND button
  3. show both buttons

Because maybe somebody creates a task and:

  1. funds it upfront so only applications are needed or maybe no funding is necessary (e.g. exercise or bounty tasks)
  2. assigns somebody and the task only needs funding (e.g. proposal)
  3. shares the link for a task and funding is needed but also applicants are needed

So basically the "create link" (which you just call assign), should probably be called "invite" and it should become an action from the bottom input action bar that allows a task author to configure it properly apply/fund


05. candidates

maybe you do remember how we did the "application phase" all public on github with helenpina, joshua-alexander and yourself and even a bunch of others who were not selected into the next rounds Everyone could learn from the process and also see what portfolio and results others delivered to learn who was selected and why. I think that would be fair, so i would want to have it all transparent for everyone.

It will be a tool to support our specific peer to peer open source ecosystem. We are making it because none of the existing tools supports these very specific ways of working. candidates So yes, this should be visible to everyone always to establish a specific open work culture and who doesnt like it can use a different app :-) It is level playing fields - equal cards for everyone to promote fairness and openness, which we have way to little in this world sadly.


06. application flow for candidates

email & browse This will not work.

  1. This tool will not use email at all, so there is no way to reach out once a task is closed

But maybe the whole task tree menu can still be explored and if any task has nobody assigned and has an open invite link, then somebody could just apply for it directly, by clicking on it, which would probably open the task chat and only show [APPLY] or [FUND] as possible actions

  1. When a task link is posted somewhere where showing [apply] [fund] buttons in the preview is not supported, then clicking the link leads to the task chat, but (as said above) only the [apply] and/or [fund] buttons are available, but a applicant or candidate can also browse and explore the rest of the task tree menu

We need a flow for both (apply and fund) and i like the flow for apply where the main action you can do is chatting :-) The flow for funding is still missing. task menu BUT ...everyone should always have READ ONLY access to the entire task menu. everything needs to be transparent. not like this But of course - depending on what specific task the invite link was for, that task is expanded and pinned and all other tasks are collapsed.

So imagine ralf applied for design buttonand then in the design ralf browses the task tree menu so it would look like:

       ┌📪─🔳roadmapping🔗👑👷david
    ┌📭┴🔳UI/UX design🔗👑bob👷david
    │  ┌👥eve🔗
    │  ├👥ralf🔗
    │  ├❓button-sketch.jpg🖇🔳make button sketch🔗
📌📪┴📤┼🔳design button🔗👑david👥
       └➖┬❓button-repo/
          ├📭─📤─🔳implement searchbar🔗👑charly❔
          └📭─📤─🔳implement button🔗👑

Ralf can see already in the chat that eve applied too, but he can also expand and see that in the task tree menu if he decides to expand that Ralf can see that there is a button-sketch.jpg input to that task and it was created in make button sketch Ralf can also see that design button is part of UI/UX design task if he wants to check that Ralf can even expand that further to see that UI/UX design is part of the roadmapping task Ralf can also not expand that so it looks like

📌📪─📤─🔳design button🔗👑david👥
       └➖┬❓button-repo/
          ├📭─📤─🔳implement searchbar🔗👑charly❔
          └📭─📤─🔳implement button🔗👑

Ralf can also explore the planned, outputs see where those outputs are used as inputs If Ralf is not interested in that he can also just look at the planned outputs

📌📪─📤┬🔳design button🔗👑david👥
       └➕─❓button-repo/

**IMPORTANT:**
This is probably the view that should be shown by default to a worker.
Because - as you say - the worker is not interested in anything else.
But a "worker", or rather "provider" like you, who already works on this project for some time,
might want to see a little bit more to get a better understanding of what the bigger project actually looks like.
Mostly "first time" workers might be scared of seeing too much initially.

Ralf can also check the sub tasks of `design button` and expand that

📌📭┬📤┬🔳design button🔗👑david👥
    │  └➕─❓button-repo/
    ├📤─🔳make button icon🔗
    └📤─🔳wireframe button🔗

...and so on :-)


07. actions for candidates or workers

plus button action here you say the + is for candidates to submit stuff, maybe portfolio documents, but later maybe worklogs.

  1. But as said elsewhere already, lets just allow people to select an item in the task menu.
  2. Then they can use their bottom action bar to select any action, like "submit worklog" or anything else

That way we can get rid of lots of visual clutter and actions will always be triggered from the bottom action bar

08. action input bar

action input bar This is cool. Probably we need multiple screens of this, depending on context and each role to list exactly all the possible actions. Maybe that will help us to later define the interactive prototype scenarios to show every feature of the app.

ACTIONS:

We will have to think systematically how to smartly organise and group actions

Also, i think it is realistic, that a provider can quit at any time and a client can remove the provider at any time. But, the submitted and accepted worklogs have to be paid and cannot be removed. I think this is the most flexible and free for all sides. Usually it is not necessary, but it is easier that way, so we need actions for this too.

i think this should go hand in hand with designing a very smart input action bar in general


09. chat input bar

chat input bar

I think that was already part of my last feedback. Could we make it more like the discord input bar? The + could be in front of the input field The smilie at the end inside the input field and so on ... And in discords input bar they use different color for background and input background, so they dont need a border

Can we try that too?

I think i shared that already in the last feedback videos.

Also - on the start screen and later in the chat and generally everywhere. This action input bar should always be there, but depending on available options The action bar can be fully featured or less fully featured Just depends how many actions are available. On the initial start screen - the "send message" action is not yet available, but only in task chats later on


10. empty start screen

start screen If you are already a user of the app, your start screen won't be empty, but it will show your task tree menu, which represents all the "task chats" you currently participate in (similar to how other messengers show all your conversations with people)

Now if you are new and your "home screen" is empty, then it can show the video instead that explains how to use the app.

I believe we should merge the explanatory video and the empty task screen :-)


11. worker flow

worker flow1 worker flow2 looks good. But same feedback as further below (see mutual agreements/contract amendments) Every type of message should have it's own visual representation.

Contentwise or feature/functionality wise i agree with this flow.

BUT: notifications will be shown outside of the app (e.g. mobile phone or browser notifications)

So, please check the feedback for "mutual agreements" or "contract amendments" below.


12. create task form

form the flow is ok for now. it is good that there is no additional task description. a task description can be created by attaching an @input document to the task that describes it.

create task button

so here a user can "Create task" to finalize the form, but then they can still create sub tasks

consider 1: Maybe we can already preview the new entries in the task tree menu while the user fills out the form? That way the user can see what changes this will cause while they are filling out things. I also think the task tree menu should be editable similar to how a file explorer is edited

consider 2: After the user finished creating tasks and todos and sub tasks and input and outputs... They might see that they made a mistake or they want to update something. So they still need to be able to select any of the tasks and todos and inputs and so on and edit it and then save that. Which means all the form fields we have to create the task will also need to be available again once the user edits. Which means those form fields are filled out with the current values, but can now be edited.

task tree menu

I like this screen. It shows the current task tree menu (e.g. only the roadmpaping task) And it shows the form - maybe because the user is editing or in this case adding todos, but could also be planned input/output documents.

When it comes to input documents, a user can always upload/link to existing documents, but at least text and propable markdown files we as input documents can be created inside the app, so that it is easy to add a "Task description" document as input document if necessary


13. tasks vs todos

ok i think we need to get one thing right with our word definitions.

davids-todos

On github there is no such thing as a distinction of "todos" and "categories/tasks"

  1. When you show the task form, it has no option for inputs/outputs
  2. when you show the todo form, it has no option for estimation/payment

on github, every checkbox todo can be turned into a seperate github issue and no matter if:

  1. github issue
  2. task with checkbox
  3. sub tasks with checkbox
  4. ...

They should all be the same thing - they are all "tasks"

  1. some tasks have inputs, some dont
  2. some tasks have outputs, some dont
  3. some tasks have sub tasks, some dont
  4. some tasks have estimations/payments, some dont have that yet ... and so on...

Our goal of minimalism includes conceptual minimalism. Being able to give any task sub tasks and inputs and outputs allows a user to create any project structure. We don't need any further distinctions. They can later edit it the way they want.

Some tasks can be used by a user to just represent some sort of "grouping" of tasks, like (UI/UX design) or (roadmapping) ...but it does not mean that those are not still normal todos which can have their own inputs and outputs and so on...

On the other hand, the same is true for todo with no sub tasks in that it can get its own payment/time estimation and so on...

Let's not distinguish between those things. It just makes the app conceptually more complex, beacuse as a user now i have to learn about tasks and todos and how they are different. I don't see any win here.


14. do this later button action

I think we don't need it. As long as you can cancel any action or form while filling out, it is clear that you can always again create a new task. A user should also always be able to edit so that is why it is normal that somebody can "choose to do it later" by not doing it now, but later creating more or editing.


15. @inputs

input form THis is cool

  1. select the status (e.g. planned, ....)
  2. select the file name

BUT: :-)

  1. select next tasks

This is an option only available to outputs and not to inputs. Also, an output can have zero or more next fields in case the output is used as inputs in many future tasks.

An input will either be a file or link to a document from outside the app, but if it was already created inside the app, then there should be an autocomplete to quickly choose from the available output documents of other existing tasks in order to make that output an input to this task :-)

just one input another problem is here, that currently it seems every task can only have a single input, but a task can have

  1. multiple inputs
  2. multiple outputs
  3. multiple sub tasks

two inputs also the task tree menu can make things a alot more concise than what is shown in this form


16. editing

editing It makes sense to see a delete and edit item. You also said "click close" (once you are done), and cancel is also important in case you change your mind half way

But this is literally true for every task, input, output and so on...

How can this become minimal for everything?

If I want to just update the task name or just rename one todo item or just change one status from planned to in progress or just link one output as an input to two more future tasks or maybe unlink them?

=> This essentially becomes editing details of the task menu tree

So maybe that is what we should aim for - similar to how a user can edit their file system tree in vscode. That way we can also skip a lot of those forms and just let the user edit things on the fly :-)


17. overview

Tapping on the title in the task chat header shows this: overview

I like how you say that this what you see here in the overview is the same thing that is visible outside in the task tree menu too.

I think this takes way too much space and should be space saving the way it is in the task tree menu

Also there wont be a description, because that needs to be in a task input document With an additional description input, it could look like this in the chat header:

let's call that task stats


ℹ️👑david💰$10.25/$100.00⏱️2h13min/24h65min

📌📭┬📤┬🔳design button🔗ℹ️
    │  ├➕─❓description.md
    │  └➕─❓button-repo/
    ├📤┬🔳make button icon🔗
    │  └➕─❓button.svg
    └📤┬🔳wireframe button🔗
       └➕─❓button.fig

This for example shows the same information, but it fits into a small area, so the chat is still visible and doesnt need to switch to a different screen.

So if a user "taps" on any of the items, they become selected and there are multiple actions available to change/edit/update them or to create additional entries (e.g. more sub tasks) or to delete some of them. Of course - some changes need agreement of the contractor/worker first if one is currently assigned

Clicking on any items will show all the available "actions" in the action menu bar on the bottom, e.g. the "edit action" and others ...which will then edit the selected item ...or actually it will already show the form that was shown when e.g. a task was created ...and the form input fields will contain the information of the selected item ...and the user can just change something and confirm the change to apply it to the task tree menu


18. layout

layout We are always trying to make things more lean and minimal with less clicks.

Overall the wireframes you show make sense and the functionality is needed. Still I want to re-use more, make things a lot more compact and get rid of every extra input and verbose button as much as possible. For example, i prefer the round (+) button on the home start screen over a full width row button Discord Servers and other messenger input buttons also do more minimalistic buttons/icons

If the app feels like only a single screen with not much to do, that would be amazing. At the moment I feel there is too much text and buttons going on.

What if ...

If we have the task tree menu on one screen And If we have the task chat but the header would also show a small snippet from the task tree menu which is relevant to the task

Then technically maybe, task tree menu and task chat should always both be visible?

What if we ALWAYS show the task tree menu, but a user can select a specific task in the task tree menu, which will switch the chat to show only the chat for that task.

But the chat in general is maybe collapsed, but when it gets expanded it will show in the bottom half of the screen. And if the task tree menu gets collapsed it collapses into the chat room topic bar

The user can click on the chat room topic bar to show the task tree menu again and expand more if they wan

If the expanded task tree menu needs more space, the user can collapse the chat

Maybe we should try this, so then there is literally only a single screen. No swiping No Clicking to change the screen Just expanding collapsing of different parts

I personally feel tapping to switch between

  1. task tree menu
  2. task chat room
  3. task details

Is a lot back and forth clicking through screens instead of summarizing it all in one screen instead.


19. The whole app summarized in a few sentences

  1. TOP : task tree menu (expand/collapse/select)
  2. MIDDLE : chat history (expand/collapse/scroll)
  3. BOTTOM : action input bar with different actions (add/edit/delete....) and forms (cancel/back/next/save)

A new user can only add to create a first task An existing user with tasks in the task tree menu can expand/collapse and select any of the tasks The chat of the selected task shows and can be scrolled The action bar can be used to send more messages or edit the selected task Which shows the form with the filled out values to edit and save them


20. mutual agreements && contract amendments

mutual agreement popup Yes, we need this.

I think this should happen but instead of via overlay popup, it should just focus on the chat input bar to show the message and form to select the new option or change, but when it is clicked, it won't change anything, but will send the request to the contractor first

The contractor will see a special change request type of message in the chat, which they can confirm or reject

"Do you want to send this change request to the contractor?" [yes] [no]

contract amendments yeah, perfect, we can keep that :-)

only idea, maybe those buttons can be buttons next to each other? [accept] [modify] [reject] If that fits into one line on mobile, i think that would be sweet. To [view] the exact changes, i imagine the user can click anywhere on the contract amendment method.

In fact - each special type of message should probably have some sort of message type indicator e.g. a color or icon or whatever to visually differentiate it from a normal text message

If you really think it is necessary, then an additional [ ] I accept the contract amendment checkbox could be added. But maybe it also works without in practice and would just be annoying.

accepting it or rejecting it or whatever produces an additional message. choosing [modify] posts a message back to the task author with the changed contract amendment counter proposal this can go back and forth ... and in between there can be some text messages to discuss things before accepting/rejecting


21. mass agreements

group of workers and tasks you said here you could have a group of workers and tasks and if you make a change many need to accept or reject.

I think we should not support that use case initially. You have to make an agreement with everyone 1:1 So if you have many tasks and many workers (only one worker can work on a specific task anyway) ...you have to create each change request independently

Once we have the app and we see there are problems, we can then think about refining this further.

serapath commented 1 year ago

feedback 2022.08.10

  1. https://www.loom.com/share/a9a201f01c7f4234ae5fb77688592157
  2. https://www.loom.com/share/c5c53570cb074f8697fcbeff9f967866
  3. https://www.loom.com/share/c817949a7dd94d7bbf81c06c8e62c510
  4. https://watch.screencastify.com/v/ynSAZoFMTLR0CbkqxI78
  5. https://watch.screencastify.com/v/QtTC56o6iYJezuYIQLcY
  6. https://watch.screencastify.com/v/ldYx5TTcGiUH6VTuKdOj
serapath commented 1 year ago

feedback 2022.08.13

input action bar I ike that the action bar shows the currently selected/active task in the input field background. That is pretty cool to me.

sketch in this copy of your sketch:

  1. it looks like "UI/UX design" is not a sub task of "roadmapping"
  2. it looks like "eve" and "ralf" could be candidates for "UI/UX design" and "button-sketch.jpg" is it's output
  3. it looks like "design button" has output "button-repo/" which is used in "implement searchbar & button" - COOL :-)
  4. but it looks like "make button icon" and "wireframe button" are tasks in parallel to UI/UX Design

In summary - that looks a bit unclear in terms of what belongs to what

Also, imagine:

  1. WHAT IF we would also show "design searchbar", but not expand "design button" sub tasks
  2. And then we would check the inputs/candidates for "design searchbar"
  3. Those would show above "design searchbar" similar to how eve, ralf & button-sketch show up
  4. which means it will be hard to tell where "inputs/" of "design searchbar" or "outputs" of "design button" will belong to

It could be, that "design searchbar" has no inputs and "design button" has outputs which include the inputs of design searchbar, or It could be, that "design button" has no outputs and "design searchbar" has inputs which include the outputs of design button...

example This doesn't look bad, but to me it says:

  1. eve and ralf are candidates for "UI/UX design",
  2. because nina, alex and david where candidates for "roadmapping"
  3. and i would assume "button.svg" is an output of "UI/UX design", even though it has a single from "make button sketch" so it is an input
    • this would suggest that it belongs to "design button" as an input
    • but still i can't decide whether eve and ralf (according to what i just said) would be candidates of UI/UX Design or Design button
    • i think it would be UI/UX Design because that is what you said about roadmapping
    • or maybe nina, alex and david are actually candidates for UI/UX design and not for "roadmapping"
    • then it makes sense, but where would i be able to see candidates for "roadmapping" then? ...can that show above roadmapping?
    • how do i expand that?

OK - you say button.svg is an output of UI/UX design ... which is not true. It is an output of make button sketch But it should be an input of Design Button ...something here is not perfectly clear to me.

example task menu OH NO :-) ... You just said that "make button icon" and "wireframe button" are supposed to be sub tasks of "UI/UX Design" ...but they are not. They are supposed to be sub tasks of "design button". That is a problem - somehow without the lines you confused yourself too.

example task menu2 OH NOOOOO :-) And then you say "implement searchbar" and "implement button" are SUB TASKS of "design button" That is all wrong. So getting rid of the lines that connect things confused you even though you are familiar with things. That is a bad sign...

Hornet004 commented 1 year ago

worklog 2022.14.8 worklog 2022.14.8 worklog 2022.14.8 worklog 2022.14.8 worklog 2022.14.8

serapath commented 1 year ago

feedback 2022.08.20

message

  1. So this one does not include avatar, only identicon

    • the avatar is a picture the user chooses for themselves
    • the identicon gets generated once when the user creates their account and it never changes
    • also cryptographic techniques can verify with mathematical 100% certainty, that a user is who they claim they are - if somebody steals an "identicon avatar" it can be detected, but if a user steals or copies an avatar, this is not possible to detect, so somebody could just use your name "david" and use your profile picture and others would have a hard time figuring out that this is not you ...but nobody would ever be able to copy your identicon. If you are interested i can explain the mathematical cryptographic background a bit more in detail and how our app can cryptographically verify that the identicon is authentic.
  2. the timestamp should be more technical, e.g. 2022.08.20🗓14:25🕐

  3. it lacks a little copy to clipboard link to get direct link to the message

  4. like most or all existing messengers, the entire column on the right is wasted with white space just so there is space for the avatar, but maybe we can do something smarter (css supports it), like e.g. https://codepen.io/serapath/pen/mdxvvpg

  5. it should use the full with and space available and maybe seperate from the next message via border or different background color

  6. no actions are listed to be able to react or do something with the message or to select it

The quoted messages (if more than one) should probably have a optional top section of the message to display a bit of the quoted messasge and then some sort of mini navbar or ways to expand the full message or jump to it and move between the current message and all related messages.

quoted So this is not bad. maybe it can be further optimized, but i like it. maybe that solves what i just said above.

actions Regarding "actions" like "reply" or "forward" or "copy", i strongly prefer the option on the left screen and to put those actions into the bottom action bar - still i feel things could have smaller font and be more dense. So this is a good choice i think :-)

Basically - given we are dealing with professionals and work (especially programmers) and we want to be efficient and we will all be power users (because casual users will stick to tiktok/insta/whatsapp/...) i really want to see the "worst case" when a conversation gets really involved and densly packed with information so we need to utilize every last inch of screen estate to have all information available while interacting. This is really something i would optimize for.

bottombar This looks cool to me too, but let's not spend too much time on the action bar. But i agree - this is definitely the approach we should stick to

Otherwise:

I hope we can first create some or many example message flows that fill the message log with messages in different scenario and optimize it like mad ...and we just assume all actions needed will somehow be magically available in the action bar and we can make a list of them, but we can optimize the details of how those actions will be available in the action bar later.

But quoting, selecting, responding to messages and scrolling through messages and see all the details around those and navigating between quoted messages, etc... i'd like to nail that.

In this context we can also go through all the different scenarios, like

  1. submit a worklog, reject results or refine results
  2. discussing an issue quoting multiple messages and responding to them
  3. messages can involve task or contractual agreements and even payments.
  4. certain actions, like "accepting a contract change" or whatever will also create an entry in the message log
  5. multiple messages that were about a worklog could also be later collapsed into the worklog and expanded again, to save space
  6. maybe like a new "message thread", a new "sub task" can be born from a specific message that describes the new sub task and once the other side accepts it - it turns into a thread
  7. also the line of unread messages and a navigation to jump to the bottom (latest message) or jump to the "unread messages" line

Those kinds of things...

navigation I like the way we can move through quoted messages and the little navigation button on the bottom to cycle through them.

message i think the name/avatar/identicon/timestamp should probably be on top of every message (even before the quotes? ...just a thought. Also I still think things are not yet packed densly enough. One thing to consider is to make the avatar and identicon small - more like the size of a favicon or at most a tiny bit bigger than that. or the size of emojis... but keep them as tiny as possible without making them unrecognizable. We can still allow a user to click to "expand" the avatar/identicons if they want to. But even if they are small, it is enough information to quickly understand who wrote a message.

regarding actions All the actions and interaction and navigation you explain make sense. Lets say the main focus is to represent them somehow and keep a list of all of them, but for design, lets first focus on getting the chat message log right and all the interaction with it.

once we have that, we can then do another iteration and try to get the "action bar" in order.

video call

What is meant by that is, that if the user had a live conference call (audio only or video - maybe with screen sharing, etc...) that is also causing a message entry in the chat log that records when and how long that video/audio call lasted and technically this allows both sides to download the recorded audio/video stream or re-watch it later on.

It is also possible to make a message and e.g. "QUOTE" that video call and then maybe write a summary of what has been discussed in that call - maybe even make it a worklog and request the other party to accept the tasks that were derived in that video call.

It could also be, that such a type of message can be expanded and has a few attachements (like notes that were taken during the video call) ...

If you want to see how this will work, you can check https://keet.io (which is a p2p video conferencing alternative to zoom and the likes. It already works and uses the same technology we will be using for our app.

BUT: let's not design yet the video call or audio call itself, but just assume it happened and is over now ...and how will the message that represents that video/audio call look like.

It is just yet another type of message.

worklog So the worklog message type will look like our worklogs here on github.

  1. one or more recorded screencasts (each 3-5 minutes)
  2. a list of tasks that have been worked on and how much time was spent on each task
  3. a list of outputs that were produced
  4. optionally a list of proposed tasks for the future with their outputs and inputs
  5. optionally a list of questions
serapath commented 1 year ago

feedback 2022.08.12

hide messages

if a user selects a message, they should have an option to auto-collapse all messages not part of the message history of quoted messages, e.g.

if message-90 quotes messages 81, 77, 56 and message-81 quotes messages 16 and 3 and message-77 quotes message 15 and message-56 quotes nothing, then the chat log should temporarily show just

message3 message15 message16 message56 message77 message81 message90

and in between things should be collapsed like in the screenshot, but of course much more dense and compact. the screenshot wastes loads of white space that could be packed with content.

Hornet004 commented 1 year ago

worklog 2022.21.8 worklog 2022.21.8 worklog 2022.21.8 worklog 2022.21.8 worklog 2022.21.8 worklog 2022.21.8 worklog 2022.21.8 worklog 2022.21.8 worklog 2022.21.8 worklog 2022.21.8

serapath commented 1 year ago

not bad, but would be good to post worklogs more often instead of a long list of them all at once :-) But thanks

Hornet004 commented 1 year ago

worklog 2022.26.8 worklog 2022.26.8 worklog 2022.26.8 worklog 2022.26.8 worklog 2022.26.8 worklog 2022.26.8

serapath commented 1 year ago

feedback 2-22.08.26

worklog 2022.26.8

Thank you for the worklogs. One issue is, you "say" many things in the worklog, but not all those details you say are captured in the outputs. Just looking at the figma file does not give me all the context you share in the video, so the figma file should be structured a lot better to capture all that information you share.


1

message component If i understood you right, this is the normal message and below is the normal cancel Maybe you said something else, but i think every message should have a separate label It should have a separate version/timestamp, so that we can compare a later iteration with this iteration.

Also, the "action bar" is a separate component and probably shows when a message is selected, But i would then design a normal message actionbar, which shows the actions for when a normal message is selected and that is a different component.


2

message preview Again, it is a separate component and should get a label and version/timestamp in case we do later iterations of this component. I am personally no fan of preview. I think it makes the chat verbose and noisy. Sometimes I would maybe want the preview, but discord for example always gives the preview, but then you can "opt out" ...i think when writing a message, showing the preview should be "opt in", so the author has to decide to show the preview or the reader can click to show the preview.


3

message attachements This looks good to me. I think even the "preview" message should look like that, but instead it would show the link maybe with the favicon in front and a little button to click to show the preview. I like that the attachement message has no default preview and is more compact.

THOUGHT In our *Task Messenger, every conversation should keep it's focus, so if people exchange all kinds of random messages, at any time, it would be good to keep visible what the current overall focus of a conversation is. Of course - every room is a "task room", so it is clear that the task of the room should be solved. Also, every worklog is supposed to list at least one task that was worked on. At the moment you don't do that. You only list worklog videos and outputs, but not what task was being worked on. You avoid it, because it is extra effort to think about the tasks, but it keeps things aligned on the goals, so it is very important - but also almost nobody does it.

So if every worklog is supposed to solve one task, it basically solves a task room. The usual flow would be a worklog literally closes a task room once it is accepted.

It sounds very extreme, but i think we should aim for that and be radical. It is always easy to "relax things later", but it is hard to do it the other way around.

If a worklog solves some stuff, but not the entire task, then a worklog could propose a sub task with an output and solve it immediately, which means, if multiple worklogs are being submitted and all of them do not solve the task yet (e.g. your worklogs now do not solve the "gig/exercise" github issue yet, then they would propose "sub task rooms" with "outputs" and once i accept the submitted worklogs those tasks get created and immediately finished with the outputs being accepted.

I would usually not accept them until you make a plan where or how you would use those outputs as inputs to the next tasks you plan to work on. In that style we get the goal orientedness into the task messenger.


4

worklog message This should be labeled worklog message - v0.0.1 - 2022.08.26 and have it's own column on the entire figma file canvas you have. In that column we will only add iterations of that component.

The worklog message is not bad, but: I think it could be more compact by putting avatar + name + timestamp + message type into one line. Here the message type is worklog and is in the second line under avatar+name+timestamp.

I like that things can expand/collapse, but i think it is bad to add labels to the section.

those things are self explanatory. A task is :black_square_button: or :ballot_box_with_check: which indicates that something is done and the task itself has a task name that describes what it does. An output file has a name too and also a file extension or something that makes clear that it is an output and we also know it is :question: or :package: so that is self explanatory too. Lastly the list of questions will all end with a ? and also if you read them you understand what it is, so we can save some extra space by not adding those labels.

Also I really thinkg we should literally cut/paste the same visuals we use in the task menu or rather re-use the same "task menu" component inside a worklog messages to show all the tasks, inputs and outputs related to that worklog message inside the message instead of inventing a different style of visualizing tasks and outputs inside a worklog message. worklog message2 This should be labeld worklog message - v0.0.2 - 2022.08.26

So this is the result of iterating the design of the worklog message, but it is not in the row below the previous iteration of this component, so for me, without watching your video, it is super hard to find. I literally have to scroll around, check things and guess that this is the second iteration and not the first..which one comes first, which one comes after? is that the only version? is there another somewhere else on the figma canvas? ...let's improve the structure.

otherwise: still the same applies as to the previous iteration. The outputs are now shown below the tasks, which is more similar to the task menu, which is good, but the task menu can always collapse things. Also still, next to the worklog messag type icon/title it should list the amount of tasks/outputs. Or think about what i say below in thoughts... if there is only ever a single task per worklog, then the worklog message itself could have the task name as the title. The expand/collapse of the worklog icon row in the message would then basically be the expand/collapse of the solved task name ...kinda exactly how it works inside the task menu itself.

Now the same goes for preview. preview of attachements (outputs) should only show on demand and not by default.

THOUGHT So again - I want us to be extremely radical, which means minimalistic and very goal oriented. Of course, we could give the user many options to do it like this or that, but more options means everyone will do it slightly differently, but on the other hand, being very strict means everyone will or has to do it the same, which means every user who uses the app and knows how to use the app will have the exact same style of working - which makes it very easy to work with others, because nobody can develop different "styles" of working.

What I mean by that is, right now for example:

  1. a worklog is 3-5 minutes, but could talk about all kinds of tasks
  2. a worklog could also submit multiple outputs for different tasks

But in our future task messenger we can be a lot more strict about things, which means:

  1. a worklog always has to list exactly one task that it finished with one or more outputs
  2. if multiple tasks where finished, multiple worklogs are needed to close them.
  3. a worklog always closes a task, which means it always closes a task room
  4. this means there is only a single worklog per task room, unless the worklog does not get accepted and the feedback messages requests refinements before it is accepted
  5. because a worklog always closes a single task and tasks can be short, also worklogs can be short (maybe 10-30 seconds)
  6. also because some tasks are very short, multiple tasks get solves with multiple short worklogs
  7. if a task doesn't exist for a worklog, it should be possible to submit a worklog and propose the task this worklog is solving, which means the task author (=client) will see the proposed worklog with the task and if they choose to accept it:
    1. that task and task room gets created with all the planned outputs and inputs
    2. the worklog gets submitted to that task room and adds all the requires outputs
    3. the task room gets closed and marked as done :ballot_box_with_check:
    4. the conversation can continue in the "parent task room", but the "task menu" shows a new task that was just created and immediately finished with the outputs at the same time.

This style of working keeps the main chat clean and encourages to create many sub tasks on the fly and if a worklog for that sub tasks does not get accepted right away, the discussion can continue in that new sub task channel until the revised worklog is accepted which is when the task room gets finished and closed.

GENERAL PATTERN: Basically, the chat is a "change history". It includes messages people exchanged in the chat, but it also includes any kind of action. The task room is like a contract and every message in the chat history is a "contract amendment". The action bar is just a tool to help crafting those "contract amendments" and some amendments, like a message with a funny gif doesn't do any substantial change to the contract, even though it counts still as a contract amendment in a very gernalized sense.

Sub Tasks are just sub contracts with sub contract amendment logs. Just have that in mind as a general pattern for everything when thinking about things like "proposing new tasks" or whatever... everything is a contract amendment to a contract. Some of those amendments require approval by the other side, some don't.

serapath commented 1 year ago

feedback 2022.08.26

worklog 2022.26.8 worklog 2022.26.8


1

feedback message idea

You say the feedback should be part of the worklog message, but as the general pattern mentioned earlier, here a little bit of technical background of how literally every message will look like in terms of data structure:

const messageA = { // example
  head: ['david', 'alex', 15],
  refs: { cause: ['alex', 'david', 4] },
  type: 'worklog',
  data: { questions: [/* ... */], comment: 'hope you like it' }
}
const message6 = { // example
  head: ['alex', 'david', 12],
  refs: { cause: ['david', 'alex', 15], worklog: ['david', 'alex', 15] },
  type: 'feedback',
  data: { action: 'accept', comment: 'good job', answers: [/*...*/] }
}

So we are definitely dealing with distinct messages. Now that is not to say that a series of related messages could be collapsed/rolled up into a visuall summary which only shows the details once you expand those, but at the end of the day, every message has a specific receiver and sender and smashing that all into a single visual message box confuses who was sender and who was receiver.

Again - this is all for wizardamigos, so using the UI/UX should educate about the technical structure that is underneath the visual interface.

Also: a worklog marks the task in the task menu as done once it is accepted by the client (=task author)


2

actions Great to have actions [accept] [change] [reject] available for a worklog message when the client (=task author) looks at them, but let those actions be [cancel] when the provider (=worker) looks at it while the worklog is pending, which means the client (=task author) did not yet take any action. ...cancel means basically "unsend", which is possible in the time between sending it and the client taking an action.

As an author, any action taken, will provide a form where the client should send a comment or answers along with their feedback message to answer the question in any case, whethere they rejected/accepted offered a change proposal to the existing worklog.

THOUGHT: Now thinking about this more, maybe we should generally NOT have an option to propose tasks when submitting a worklog, but instead we have a special message type which is for proposing tasks, and if you did some work and created a worklog but there is no task yet that would fit the work that has been done, then maybe there should be a batch message:

  1. propose task message
  2. worklog message to close that task

And the client would respond with a feedback message to accept/change/reject those.

This makes each message simpler and not stuffing too many purposes into a single message.

guiding principles:

  1. an action should do exactly one thing and do it well
  2. by using batch messages and chaining different actions we can craft more complex behavior by chaining the simple actions

THOUHGT: We might want one column "message types" on the entire figma canvas That column could include a "sub table" with one column per message type We then have in each row of those message type component columns a label and timestamp Also if we make a specific e.g. worklog message type iteration and we re-use the exact same layout for the task/input/output as it shows in the task menu component, then we should mark the exact column and row/label/version/timestamp of the task menu component we are using in this iteration of the worklog message type iteration.


3

conversation summary So if we have something like this, as mentioned earlier as some sort of collapsed rollup of a series of related messages, then it should be marked as such.

We would first need to decide a strict technical criteria how and when we group messages and is there a possibility for intermediate unrelated messages that can be send in between and what happens with those?

Anyway, if we have a clear concept, then i would call those not "summary messages" but: conversation summaries inside of a task chat.

Now think again - IF (as said earlier)... a worklog always basically closes a task chat, which means we are really radical, because we make the tool and we can and it really helps a lot by working actively and a lot with the tasks (which is something we sadly dont do at the moment), THEN: a task room that gets closed with a worklog is already a "converation summary" around that specific task.

So do we need more than that? I know this is a lot different from what we do on github, because we have long conversations here always under the same issue with lots of worklogs, but this is bad and this is mainly because creating so many github issues all the time and then closing them properly and so on is a lot of "administrative overhead"

We don't do it because it is too much work, but a messenger could make it effortless and the advantage would be an up-to-date task structure that is really heavily in use and shows us our progress quite well.


4

Thanks for mentioning you are gonna add the "time spent" to each worklog. Please have in mind the list i wrote earlier on the chat.

You mentioned you feel like you did not miss anything in that list, but your wireframed worklog message type only shows open questions

I did not see how a provider can propose a list o (sub) tasks + inputs/outputs - that is different from existing tasks which have been finished in the sent worklog with the created outputs. This is for new (not yet finished) tasks that should exist and that will (if accepted by the client) be completed in future worklogs.

I also did not see an additional free form text - just the section labeled as "open questions".

now again - thinking about what is written above in this github feedback comment of mine - maybe we should separate those additioanl worklog message type features from the list below which i just described into separate message types and then a provider (=worker) can submit a batch of messages for approval, one of them is a worklog but another one is proposing additional tasks. That way things are more flexible.

1. time/date stamp
2. user (avatar + identicon)
3. list of tasks that have been worked on and how much time went into each
4. list of outputs that were produced
5. [optional] a list of open questions
6. [optional] a list of suggested (sub)tasks and inputs/outputs to add to the issue to be worked on in the future
7. additional free form text

and the protocol for changes looks like

⛓CHANGED: [📃change] ⌛PENDING -> ❓REQUEST 🆗INITIAL: [📃change] ⌛PENDING -> ❓REQUEST ⌛PENDING: [🚫cancel] ⛔ABORTED -> ⛔ABORTED ❓REQUEST: [👌accept] ⛓CHANGED -> ⛓CHANGED [📃change] ⌛PENDING -> ❓REQUEST [❌reject] ⛔ABORTED -> ⛔ABORTED

serapath commented 1 year ago

feedback 2022.08.26

figma canvas

This is the figma canvas.

Of course it does not include all the previous parts containing our iteration on the task menu, which it maybe should include.

But on top of that - from a zoomed out high level view, this figma canvas does not look like a table, but more like a mess :sweat_smile:

another canvas here is another figma canvas where you say it is mobile, but the headlines say desktop.

:+1: for the versions, but still timestamps are missing. Another problem is, that it only says "desktop" (maybe you mean mobile), but either way, it is only a summary view, which technically should be one "column" in the canvas and then rows should be versions of the "desktop component" (which means the component that combines everything, basically the entire app), but there should be a lot more columns for all the ingredients, the separate components that are used by the desktop component column ...and of course, each row, each iteration of a component like a desktop component would use different versions of other components.

this way we only need a single large figma canvas that contains everything ...and if that is too much for figma, we can maybe outsource some component columns to different pages, but if possible i would want to avoid that.

TASKS I think it would be totally worth it, to create a new figma file and go back to the very beginning when we started working (previous worklogs and figma components) and copy them over onto that new figma canvas into different column components and iterations.

  1. mark each iteration for each component with:
    1. version number + timestamp (from the worklog message on github)
    2. fo a particular iteration (row) of a more complet component, if possible, write a list of other columns of components used in that particular iteration and which version/iteration of those is used
    3. save the figma with a specific name in the figma file history

We can create some github issue tasks with the output of a new version controlled figma file to re-build the figma history in this very precise and controlled manner.


so, in programming people strictly work with commits so the entire change history is visible and it is possible to roll back and see earlier versions I would like to get to something similar when using and working on many components in figma over time. Here I recorded 2 videos to explain how i imagine that and would be happy if we can try to slowly convert our figma files and stick to a style like that.

  1. video1 https://watch.screencastify.com/v/KQk74BqnqqIhGgobCnEx
  2. video2 https://watch.screencastify.com/v/G21nPSSJAN1OQW84P8iI
serapath commented 1 year ago

feedback 2022.08.27

worklog 2022.26.8


1 worklog message

worklog + worklog-feedback-conversation i like the idea. agree => let's go for the first version and show [accept][reject] directly, but let's also include [change] which means not accepting or rejecting it directly, but asking for refinement before accepting or rejecting it.

more specifically: upperLeft+lowerRight lets use the "upper left" and the "lower right" as the collapsed and expanded version, so in terms of figma, it would be cool to have another row/iteration in the column of the worklog component, where we show those two and not the ones with the "action+accept+reject" anymore. It is a quick copy/paste but then removing the ones that we wont use anymore :-) super simple, super quick but clearly communicates what our latest decision is.


2 feedback input

feedback input after selecting an action i agree there should be a "feedback input component" (lets make a column for that with a first iteration in the first row of that) and i am cool with that proposal you show. It should show though which action was selected. was it or will it be a feedback that "rejects" or "accepts" or requests "changes"? ...unclear from that feedback input box alone.

also i would strongly recommend to replace at least partially the bold/italic/bulletpoints/list formatting options and instead we will make the input field support markdown. even the "smilies" could be an autocomplete dropdown that gets activated when the user presses : because :100: for example will produce :100: and all we need then is a little "markdown help" icon that a user can click to see all the possible markdown commands instead. typing markdown is anyway lightyears faster than selecting text and then pressing those formatting buttons, so we want to promote/facilitate that users learn the future literacy and then they become way faster and more productive :-)


3 feedback flow component

feedback flow component

This component might exist with a first iteration before the individual parts exist. ...but then we discuss it and we roughly agree and then maybe we make the individual components included in this flow, which are the "worklog message" and maybe the "worklog actions" a user can select and a "feedback input field" component and make columns that also have a first iteration of those ...and then afterwards we can come back to the "feedback flow component" that puts all of that together and we make a second iteration that refines it.


4 worklog feedback conversation

This is essentially the continuation of the "feedback flow", so technically, once we improve the "feedback flow" component we might figure out that we should call that a "worklog-feedback-conversation-component" so maybe in iteration3 or iteration4 of that feedback flow component column, we decide to rename it into "worklog-feedback-conversation" component.

.... or not, maybe the "feedback flow component" is a sub component of the more complex "worklog-feedback-conversation component".

I think we will figure that out while working on the iterations :-)

worklog-feedback-conversation here the marked actions and the expand/collapse are ok, but what is not ok is to have a single message with the title showing, e.g.: david + avatar + identicon + timestamp ...but having both messages, the worklog and feedback, even though the feedback was sent by nina.

ninas feedback message has it's own avatar + identicon + timestamp, so it should be separate messages.

But maybe those messages can be collapsed into some sort of third component which includes a series of related worklog/feedback messages and we call that a worklog-feedback-conversation component which can be expanded to see all the individual messages or it can be collapsed into something that looks like what you show, but is clearly marked as a conversation and that means it needs to indicate that in the title by showing at least both names, avatars, identicons and also showing 2 timesstamps, the timestamp of the first and the timestamp of the last message ...so a conversation is a time interval. ...and it could also include a message counter and some other statistics (e.g. number of outputs or whatever.. we will see by iterating that conversation component.


in general in this worklog video 49 you explain flows with lots of component "screenshot" snippets going back and forth between them and it makes sense, but this sense exists because of the video. It is not so east to see how that flow comes together by just looking at the figma file alone, so that's also why i think we need to make specific "flow components" and also individual ones and have all these iterations and columns labeled, timestamped and for complex components in every iteration list the specific "sub component columns with iteration number" to know exactly what are we looking at :-)

serapath commented 1 year ago

feedback 2022.08.27

worklog 2022.26.8

worklog input componet

So the "worklog input component" should get split into simpler actions. This form is already too complex.

Let people just send multiple different type of messages or use the "batch actions" feature to create a complex message that includes multiple connected messages of different types.

Also - again, for tasks, outputs and time we should re-use the "task menu" as much as possible and have it more like an "editable file explorer" (like vscode file tree explorer allows change actions)

The whole change is then proposed in a message and if the worklog is accepted it will change the actual task menu (e.g. change a planned output to a done output and change a task to finished)

completed task also the "completed task" worklog type is not necessary, because the task itself will have a checkmark and be marked as finished so that's already self explanatory.

*note:** actually, it would make sense to allow a provider who wants to work on tasks to actually start/stop timers ...it is relatively easy to integrate "time tracking" too, so they will have an easier time with that part :-) ...if we already build a task messenger, maybe it would make sense to think of that essential feature that everyone anyway will need somehow.


input component Yes perfect, lets give that component it's own column and name. I agree we somehow need this.

note: this component will also be used in the task menu component i imagine.

input component

for example this part of the worklog input form, i imagine more similar to the task menu, which means i would click on the "task name" listed further above in the worklog, the one which i finished and log time for and now, because that task is selected, the "bottom action bar" would show me an action "add output"

or alternatively, because a specific task is already selected and the planned outputs can be expanded, just like in the task menu ...we can now click on one of those planned outputs to select it and that will show the "upload" or "link" action in the bottom action bar and if i click it and select a file or paste or type a link, that will then update the planned output to done output with the uploaded or linked document ....

That would feel more natural and in line with our general concept of:

  1. all actions are in the bottom input bar
  2. all tasks and inputs/outputs are in the task menu

=> and here in the worklog form we do it the same way again like everywhere else - so nothing new to learn by the user and we can re-use the existing action bar and task menu components.

comment this is good, but as said earlier - let's switch this and make it a markdown input field instead :-)

serapath commented 1 year ago

feedback 2022.08.27

worklog 2022.26.8

again, watching all the videos. Main wish is to structure the figma file into the columns and rows and annotate everything with iteration number and complex component iterations with the list of sub components used, etc.. so that i can easily get an overview over our progress and what lead to what over time.


worklog component iteration i love the iteration on the worklog component. as said earlier, more changes are required, but i can definitely see a good imporvement.

:+1: for having the time included the person :construction_worker: david can be skipped, because that's implicit in the sender of the message. of course- only the assigned provider can trigger the worklog action, so the name of the provider is already included in the title bar of that worklog message, what could be included though (next to the time) is the amount of outputs and whether the worklog contains a comment or not.

Again further more, the grouping of worklogs and feedbacks needs to change too - see previous feedback comments above :-)

So basically, one take away:

  1. Let's name every component and give it a column with the iterations for that component.

  2. Let's list the specific iterations of all sub components used in an iteration for a more complex component column.