Content
View differences
Updated by Parimal Satyal about 2 years ago
# Session overview
This is the output of our **workshop/ideation session around Open Points** on Friday (3 May 2024). This is also a test of a newer, more structured way of designing a feature by following a UX-led approach.
**Present:**
* <mention class="mention" data-id="42086" data-type="user" data-text="@Wieland Lindenthal">@Wieland Lindenthal</mention>
* <mention class="mention" data-id="72513" data-type="user" data-text="@Parimal Satyal">@Parimal Satyal</mention>
* <mention class="mention" data-id="72512" data-type="user" data-text="@Marc Alcobé">@Marc Alcobé</mention>
#### We worked on identifying:
* Perceived problems
* Benefits and added value
* Feature ideas
* Usage scenarios
#### **Next steps:**
Next: core feature team will work through the produced material in this document, including ones added by others after the session. This will involve:
* [x] Rewriting and consolidating scenarios (if necessary)
* [x] Identify those benefits, problems and scenarios that we want Open Points to address
* [x] Work on draft specifications based on the above
* [ ] Share this with the larger team and introduce contraints Introduce constraints (time, effort, money, resources, priorities...) to update the specifications, including created smaller chucks
tech stack)
* [ ] Work on specification + visuals based on the agreed scope
# Draft specification
## **Threads**
* Start a new conversation thread:
* **branching/spin-off**: from an ongoing discussion, using an existing message as the starting point to a thread
* **independent**: create a new thread entirely (outside of the context of existing description or comments)
* **referential**: a new thread is anchored to an existing context (eg. a part of the description)
* A thread can have one of two types:
* Conversation
* Open point
* **Conversation** threads are simple:
* They are simply a parallel conversation thread. They don't have a stated goal per se and no resolution.
* Conversations can be closed (status is no longer open).
* **Open points** are a bit more structured and have these additional attributes:
* First message
* A topic/title (optional? or require it)
* Assignee (optional)
* \[open\] One or multiple? Is this needed at all, or are @mentions enough?
* Resolution or conclusion status ("open" by default, can be "resolved" or "closed", without resolution)
* **Open points can be resolved.** When there is a satisfactory answer that clears up existing confusion or answers a question, that answer can be marked as the resolution.
* When viewing resolved open points, the first message is immediately followed by the resolution (indicating success, for example with the colour green).
* The other replies and messages will be available below the resolution. This might include a repetition of the resolution in the context of the discussion.
* \[open\] Alternatively, you can add a resolution directly? (Button "Resolve")
* This will be both the resolution and the last message of the thread.
* **Work package:** A thread can be created within (and belongs to) a work package.
* Some events appear in the 'Activity' tab (see open questions)
* There is a way to filter to only view:
* Activity updates (journal updates)
* Conversations (incl. threads)
* Threads only
* **Threads tab:** There is new separate tab in the work packages right-side split screen titled "Threads"
* A badge displays the number of threads this work package has
* This view lists only threads
* \[open\] by default:
* closed and resolved or
* everything (closed, resolved, open)
* \[open\] There is a way to filter to show only open open/unresolved threads
* Clicking on a thread will show the full conversation in a modal (in a right-hand drawer or a modal, UI to be decided)
* If resolved, the resolution is visible immediately under the title, without needing to actually open the full conversation.
* \[open\] Threads can be viewed outside of the context of individual work packages, at a project level.
* \[open\] For example, the work packages module could have a new view on the left menu titled "Threads"
* This lists all the threads created in the current context (project? set of projects)
* This list is filterable by:
* thread assignee
* parent work package
* status (open/resolved)
* It is possible to add "Threads" as a column in a work package view. This shows the number of open and resolved threads for each work package.
* Open points can be added to meetings:
* There will be an "Add to meeting" option (in the more menu of an open point)
* This will display a list of upcoming meetings (existing modal)
* Selecting a meeting will then add the open point as an agenda item (at the end of the meeting). The meeting owner or facilitator can change the order to her liking.
* An open point can be resolved in a meeting/
* \[open\] Will this mark the resolution as having come from meeting X?
## **Open points**
* Can closed/resolved threads be re-opened?
* Argument for:
* Argumentg against:
* Should titles/comments be editable?
* Which events appear in the 'Activity' tab:
* New thread created?
* Comments added?
* Resolved?
* Closed?
* Activity tab: A thread will show:
* the topic or the first message (truncated if necessary)
* number of messages (ex. a badge that says "10")
* status (open/resolved)
* last activity (last comment by, resolved by)
* Do open points belong to just work packages?
* What about wiki?
* What is the envelope? (My stuff, cross-project?)
* Can someone "watch" open points?
* Can you add them as watchers?
* \[open\] Threads generate notifications for these events:
* tagged as assignee?
* mentioned
* new thread created for a work package of which I am an author, assignee, responsible or a user in a custom field
## **Potentially out of scope**
* **Emoji reactions**: Users are able to react with emojis to messages in a thread. This is out of scope because it should be possible for all messages, not just ones in threads.
* **Replies in Activity tab**: Should this be a part of threads? (As in, should replying necessarily create a thread, or do we let users reply the way it's possible today?)
* **Voting**: This allows users to vote for an answer from multiple propositions. This is either a mode where users can then pick from existing answers, or where users with the necessary rights can "propose" a certain number of options that everybody can vote on, like a poll.
## **Out of scope**
* **Snoozing**: When a notification concerning an open point appears in my notification center, I can "snooze it" to be reminded of it another time. For example, snooze till:
* Tomorrow
* The day after tomorrow
* Next week
* A specific date
* **Multimedia options**: The ability to add additional types of media like sound and drawings to an open point. This should be possible for all types (including work packages and meeting agenda items).
* **Private open points**: The feature is not meant to be used as a private to do list, where items can be marked as "done"
* **Time-boxing or due dates**: Open points only have an open/resolved status and do not have a due date. This is because the interaction would be more complex than is needed with open points at this stage. above
# Raw output
## **Perceived problems**
<figure class="table op-uc-figure_align-center op-uc-figure"><table class="op-uc-table"><thead class="op-uc-table--head"><tr class="op-uc-table--row"><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p"><strong>Item</strong></p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p"><strong>Remarks</strong></p></th></tr></thead><tbody><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>Intimidating large scope</strong>: When I see specs, I get stressed because the topic is too large. Hard for me to give a simple answer; need to first create a (mental) envelope to give it space. Need to think larger to give even a smaller answer.</p></td><td class="op-uc-table--cell"><p class="op-uc-p">YES. Breaking down larger questions (already identified as needing clarification) into manageable chunks is a useful problem to solve. Especially if there is sub-categorisation.</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>When I comment, I want the context of the comment to be more evident. </strong>(If it's about a certain part of a text that I'm responding to, I want to attach somehow that bit of the text so that the person who is looking at the question does not have to go through the whole thing).</p></td><td class="op-uc-table--cell"><p class="op-uc-p">YES. The ability to comment/mark specific bits for discussion/communication would make it easier to respond to just that bit.</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><s><strong>Cognitive load</strong>: I find it cognitively hard for short-term memory people (like managers), to be able to respond to a multi-question prompt and not miss important details. Long texts are stressful. If I send four questions, I know for example that I might not get all the answer.</s></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Same as the above two: break down into smaller pieces + more context.</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>Lack of focus</strong>: If there are multiple topics, I get stressed; for example, if a second topic comes up before a first one has been resolved.</p></td><td class="op-uc-table--cell"><p class="op-uc-p">YES. The ability to move forward in parallel (so that I don't feel like if I address point Nº4, that point Nº2 will be ignored). (Hint: threading?)</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><ul class="op-uc-list"><li class="op-uc-list--item"><p class=" op-uc-p"><strong>Spread out:</strong> Not great when information gets spread out in the application (OP); it's costly to get everything together.</p><ul class="op-uc-list"><li class="op-uc-list--item"><p class=" op-uc-p">Need to choose project</p></li><li class="op-uc-list--item"><p class=" op-uc-p">Choose assignee</p></li><li class="op-uc-list--item"><p class=" op-uc-p">The thing goes out, and nobody responds (or misses the notification)</p></li><li class="op-uc-list--item"><p class=" op-uc-p">Prioritising becomes harder</p></li><li class="op-uc-list--item"><p class=" op-uc-p">Slows down resolution as a result (async is great, but syncing to find resolution to everything is complicated)</p></li></ul></li></ul></td><td class="op-uc-table--cell"><p class="op-uc-p">YES, it would be useful to have the actual response request attached to the thing that it's related to (so that the question is not somewhere completely different). (Ease of information finding)<br><br>YES, if the people whom an open point is directed to are able to easily see them all in one place. (Ease of attention management)<br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>Too many tools: </strong>Having to rely on external tools like Element, which makes dicussion easy but finding relevant decisions later difficult.<br><strong>Async answer need: </strong>If there is a topic that is not something that can be discussed immediately in a current meeting (becaus it can take a long time and the other person might not be ready to answer it immediately), I might pick a tool that I know will go faster, like Element. But this has other problems (documentation, shared info etc).</p></td><td class="op-uc-table--cell"><p class="op-uc-p">YES, if people are able to use OpenProject for async communication too and don't need to rely on external tools like Element. (So that they can easily find this information again). The ability to document decisions and the conversations that led to it would reduce the need to rely on Element.</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>Unbalanced spread of work</strong>: Organisation vs. work is usually done by one person, others check what's assigned for them and do work.<br>Does not allow for collective definition of specs or topics to be addressed.</p></td><td class="op-uc-table--cell"><p class="op-uc-p">YES, if it's possible for open points to some how have "assignees" (or be directed to someone). Then I know that it will not get ignored.<br><br>NO if it's related to meeting agendas and who is responsible for an agenda. You can possibly associate an Open point to an agenda and have someone be responsible for <i>that</i>. </p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">In the course of a discussion (a meeting), an interesting idea comes but, but this it is not the right time to discuss it. However, if we don't address it but also don't give it a clear next step, it will be ignored or will be lost. There needs to be a way to mark them for someone to get back to, so that we can then continue with the normal course of the conversation or meeting.<br></p><ul class="op-uc-list"><li class="op-uc-list--item"><p class=" op-uc-p"><s><strong>Lack of structure</strong>/<strong>objective</strong>/<strong>scope</strong>: If we have a meeting to discuss 3 topics, some of them require more discussion than others. Without structure, we can have interesting or good ideas, but it doesn't move forward. There might be divergent state, but lack of convergence means that the topic remains open. For topic A, the discussion needs:</s></p><ul class="op-uc-list"><li class="op-uc-list--item"><p class=" op-uc-p"><s>Context (why we are talking about it)</s></p></li><li class="op-uc-list--item"><p class=" op-uc-p"><s>The problem (what needs a decision or a resolution)</s></p></li><li class="op-uc-list--item"><p class=" op-uc-p"><s>People (who needs to be involved)</s></p></li><li class="op-uc-list--item"><p class=" op-uc-p"><s>Action: What can be do about it (discuss it now, decide to discuss it later, create a separate meeting)</s></p></li></ul></li></ul></td><td class="op-uc-table--cell"><p class="op-uc-p">YES if public: If I can quickly write down a "Question for Jon for later" or something to get back to myself (spin-off for later), then that does not have to interrupt the flow of an existing conversation.<br><br>NO if private: Is not meant to be a to-do list or reminder for myself (something like 'marking' or 'flagging' might be more relevant for this).</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>Structural difficulty with expression/context</strong>: Can't express myself properly sometimes with just text; easier if I have some visual cues, photos, sound, geolocation, measurements, categorisation.</p></td><td class="op-uc-table--cell"><p class="op-uc-p">MAYBE: Maybe I need to be able to add more than just text to be able to express a problem or a need precisely. (Somethings like images, emojis and categories are surely a YES, something other things like sounds, maybe). But this isn't inherently something that Open points will solve, it it would be another line of exploration.</p></td></tr></tbody></table></figure>
## **Benefits and added value**
How are things going to be better compared to today?
<figure class="table op-uc-figure_align-center op-uc-figure"><table class="op-uc-table"><thead class="op-uc-table--head"><tr class="op-uc-table--row"><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p"><strong>Item</strong></p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p"><strong>Remarks</strong></p></th></tr></thead><tbody><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>Reduce Stress</strong>: no longer need to remember stuff, not forget something, by knowing I'll back to it later</p></td><td class="op-uc-table--cell"><p class="op-uc-p">YES. Especially if I can someone mark things as "done" (then it no longer needs to pay rent to live in my mind).</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>Reduce mental load</strong>: I can unload a thought from my head to a system; it's not lost, there's some sort of follow-up</p></td><td class="op-uc-table--cell"><p class="op-uc-p">YES, same as above. Especially if I can tag someone else too (offloaded from my mind).</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>Actionable list</strong>: By organising things into individual elements (each that are actionable, or "closable"), it makes it easier to keep track and organise questions</p></td><td class="op-uc-table--cell"><p class="op-uc-p">YES, if different open points related to the same 'object' can be marked with different 'statuses' Done/open), I can get a sense of progress of the whole ("where are we now?").</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>Distributed specification</strong>: Because multiple people can identify issues and they become separate threads, single people don't become bottlenecks</p><p class="op-uc-p">Not necessarily "done", but "done for me" = doesn't require my attention anymore</p></td><td class="op-uc-table--cell"><p class="op-uc-p">YES, a bit like the problem specified above (reduce mental load of individual people).</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>Track progress/readiness status</strong>: to mark certain topics as needing attention, that are in the way of something being closed. Example: if I could see a little "3" next to a topic, I'd know, there are three resolved issues getting in the way of it being closed.</p></td><td class="op-uc-table--cell"><p class="op-uc-p">YES, a side effect if we're able to easily see how many "open" points are still open.</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>To do checked effect</strong>: Seeing threads that are closed would also make me feel better, show me the progress I've made, users feel useful rather than see a bunch of open things.</p><p class="op-uc-p">Not necessarily "done", "done for me" = doesn't require my attention anymore</p></td><td class="op-uc-table--cell"><p class="op-uc-p">YES. Psychologically, always nice to mark something as done/closed.</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>Draft</strong>: Write something down (perhaps even in a rough form) to not forget it and be able to get back to it in the future.</p></td><td class="op-uc-table--cell"><p class="op-uc-p">NO, this is private/todo, not something open points can help with.</p></td></tr></tbody></table></figure>
## **Feature ideas**
Interesting ideas that we think might improve current workflow/experience
<figure class="table op-uc-figure_align-center op-uc-figure"><table class="op-uc-table"><thead class="op-uc-table--head"><tr class="op-uc-table--row"><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p"><strong>Item</strong></p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p"><strong>Remarks</strong></p></th></tr></thead><tbody><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>Snoozing</strong>: When I know that something requires my attention, but it's not immediate (but I also don't want to lose track of it): Option to add a reminder to a thread (eg. "Remind me next week"). But also, when setting reminders for someone else (tagging, assigning), it would be useful to be snooze that too.</p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>Better facilitating</strong>: I can define what needs to be discussed, and also get to a certain finality or closures (decision/discussion/add to second meeting/ignore).</p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>I can then easily identify/know if there isn't a closure.</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>Timer/time-boxing</strong>: items are timed, when the previous one is closed, it triggers the timer for the next one.</p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>Democratisation/Voting</strong>: Each participant gets to pick 3 items (or has 3 votes that can be distributed amongst multiple items).</p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>Checkmark (done)</strong>: Like in GitHub issues, makes it easy to mark things are done or not needing my attention anymore. (Personal, not on my desk anymore)</p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>Decision:</strong> In a meeting, create a sub-task and assign it to someone. Concrete way to define follow-up actions to a decision that is taken.</p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><ul class="op-uc-list"><li class="op-uc-list--item"><p class=" op-uc-p"><strong>Better diffs/previews</strong> of changes withing the work package description or any other custom field of type long text (Careful: this is technically a difficult/complex topic).</p></li><li class="op-uc-list--item"><p class=" op-uc-p">I want to understand easier if I should check/review/follow-up upon a change to a long text (typo fixes vs. significant changes)</p></li></ul></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><ul class="op-uc-list"><li class="op-uc-list--item"><p class=" op-uc-p">The messaging part is <strong>analogue to chat applications</strong>:</p></li><li class="op-uc-list--item"><p class=" op-uc-p">always have the input field for comments visible and sitting at the bottom.</p></li><li class="op-uc-list--item"><p class=" op-uc-p">The order of the activity log should be with the oldest at the top and and the newest visible and directly above the input field.</p></li><li class="op-uc-list--item"><p class=" op-uc-p">Messages by people have a prominent, clear avatar. They are alive/lively.</p></li><li class="op-uc-list--item"><p class=" op-uc-p">Consecutive messages by the same person might get grouped if they belong to the same "message burst", e.g. within the aggregation time. Still, every message that was send is separately identifiable.</p></li></ul></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><ul class="op-uc-list"><li class="op-uc-list--item"><p class=" op-uc-p">Logging other events (status changes, scheduling, custom fields, ...)</p><ul class="op-uc-list"><li class="op-uc-list--item"><p class=" op-uc-p">Attribute changes and their causes, e.g. through scheduling through a relationship, are somewhat more passive than messages. Visually they can blur into the background</p></li></ul></li></ul></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><ul class="op-uc-list"><li class="op-uc-list--item"><p class=" op-uc-p"><strong>Better diffs/previews</strong> of changes withing the work package description or any other custom field of type long text (Careful: this is technically a difficult/complex topic).</p><ul class="op-uc-list"><li class="op-uc-list--item"><p class=" op-uc-p">I want to understand easier if I should check/review/follow-up upon a change to a long text (typo fixes vs. significant changes)</p></li></ul></li></ul></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><ul class="op-uc-list"><li class="op-uc-list--item"><p class=" op-uc-p"><strong>Better diffs/previews</strong> of changes withing the work package description or any other custom field of type long text (Careful: this is technically a difficult/complex topic).</p><ul class="op-uc-list"><li class="op-uc-list--item"><p class=" op-uc-p">I want to understand easier if I should check/review/follow-up upon a change to a long text (typo fixes vs. significant changes)</p></li></ul></li></ul></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><ul class="op-uc-list"><li class="op-uc-list--item"><p class=" op-uc-p"><strong>Reply to message (Clear context communication):</strong></p><ul class="op-uc-list"><li class="op-uc-list--item"><p class=" op-uc-p">On a message hit "Reply" and the message input field indicates that this relates that message.</p></li><li class="op-uc-list--item"><p class=" op-uc-p">When there is a text selected while hitting "Reply" that context gets cited so that it becomes even clearer to which part of a message on is replying to. (That might be similar to adding a comment thread to a word selection inside a long text although there you have a full fledged thread.)</p></li></ul></li></ul></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td></tr></tbody></table></figure>
## **Usage scenarios**
**Task**: Imagine scenarios (temporal/procedural), where an open points feature would improve your life. Use the following format:
> When I...
> I want...
> So that...
<figure class="table op-uc-figure_align-center op-uc-figure"><table class="op-uc-table"><thead class="op-uc-table--head"><tr class="op-uc-table--row"><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p"><strong>When I</strong></p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p"><strong>I want</strong></p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p"><strong>So that</strong></p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Would I use OpenPoints in this scenario?</p></th></tr></thead><tbody><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>When I</strong> am writing specs for a feature and am unsure about a certain behaviour</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><strong>I want</strong> to be able to note down that question and tag a relevant person</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><strong>So that</strong> I can continue working on other things, forget about it for now, and easily get back to the uncertain topic at a later time when that person will have responded.</p></td><td class="op-uc-table--cell"><p class="op-uc-p">YES. </p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>When I</strong> am in a meeting and topics come up that are interesting, but that we don't have time to discuss at the moment</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><strong>I want</strong> to be able to write them down</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><strong>So that</strong> we can move on without ignoring the issues, but that we don't actually forget about it, and there's a concrete step.</p></td><td class="op-uc-table--cell"><p class="op-uc-p">YES. Create open point, tag somebody related to the current topic/work package or add it to the next iteration of the meeting, move on.</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>When I</strong> receive a notification on a topic I'm working on that requires multiple decisions from my side</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><strong>I want</strong> to divide these decisions and organise the timeline for me to work on them</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><strong>So that</strong> I have a clear sense of structure and priority in my workday.</p></td><td class="op-uc-table--cell"><p class="op-uc-p">NO. This is a known challenge for notification management/personal scheduling.</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>When I</strong> write a message on a certain topic, and I know that the other person is acting on it right now</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><strong>I want</strong> to be aware of this</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><strong>So that</strong> I can stay with the topic and save a costly context switch in my head.</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Might not be a feature of open points, but it could be interesting for threading. Interesting bit: notification of the activity of others in real-time.<br><br><s>NO. Open points can't address the notification bit. I need concurrent editing/responding notification so I can stay on.</s></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>When I</strong> interact with a message that I just received</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><strong>I want</strong> to communicate/not give the expectation that I want to answer it immediately, but that I'll get back to it eventually</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><strong>So that</strong> this does not create false expectations between me and the other people, and that there's a process that both can trust.</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Yes, it should be possible to "assign" an open point to somebody if there's a clearly-designated person who is responsible. Doesn't mean they <i>will</i> respoind, but knowing that they have bene tagged, and that this will generate a notification is enough.</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>When I</strong> want to get an overview of items that lack clarity and are thus slowing down work within the scope of a release, a version, a phase...</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><strong>I want</strong> to be able to quickly see the actual issues that need resolving</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><strong>So that</strong> I get a better sense of what the blocks are and what we can do about it.</p></td><td class="op-uc-table--cell"><p class="op-uc-p">YES. Grey areas in a map. Instead of having them be lost in a long description or a chat, having them identified as separate "objects" makes it easier to identify and address them.</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>When I</strong> have a number of different questions, on a number of different topics for the same person</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><strong>I want</strong> to be able to write down those questions (and tag the relevant person) and then easily access that list later</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><strong>So that</strong> when I have a meeting with that person, we can go through the questions and address them one by one (almost like an automatic agenda list for my meeting).</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Yes. The ability to write questions, assignee a person and later access a list of all discussions that are not resolved would be useful. If I can then add them to a meeting (ad-hoc?), it would be even more useful.<br><br>Also, being able to prioritise from a list of open points (which ones need more attention in the next meeting) would also be useful.</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>When I</strong> am working on an external tool (like Figma or Element), and I am taking a decision that needs to be reflected in a work package</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><strong>I want</strong> to bring this decision need into OpenProject </p></td><td class="op-uc-table--cell"><p class="op-uc-p"><strong>So that</strong> the person (who might not have a Figma account) who needs to make that decision is informed about it, so I know that the item doesn't get lost/ignored.</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Yes. Importantly, if a discussion happened outside of OP but needs to be documented in OP, it's easier to create an open point, put the necessary information (tag the relevant person if possible), then resolve it there.</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>When I</strong> am in a conversation with someone where a decision has been taken</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><strong>I want</strong> to have this be noted down somewhere, ideally with an existing place where the topic lives (e.g., work package)</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><strong>So that</strong> other people who might be working on this topic are informed, aware of this decision without my needing to manually communicate this to them (time-consuming).</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Yes. It would make decisions (even made outside of OP originally) better documented/easier to find later (as a decision that was taken: list of resolutions).<br><br>Be careful: not all decisions <i>need </i>to be tracked as "decisions" in OP; it's important to direct this feature a means of <i>documenting</i> certain decisions that required exchange.</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>When I</strong> see there's a decision that I'm not entirely happy with (because we've not discussed it properly, given it enough time, or considered points of view)</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><strong>I want</strong> to document reservations or questions that were ignored</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><strong>So that</strong> I don't feel like important topics that were ignored are forgotten and those topics can be addressed at a later date ("let's handle this later if needed")</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Yes, having a history of a discussion is enough, even if not everyone is happy with the decision. This is what decision-making involves (compromises).</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>When I</strong> want to express a complex thought</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><strong>I want</strong> to have the space to write, add drawings, annotate with other objects like sound, etc.</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><strong>So that</strong> I can clearly express my thoughts without structural limits.</p></td><td class="op-uc-table--cell"><p class="op-uc-p">No. This isn't inherently something that Open points will solve, it it would be another line of exploration.</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>When I</strong> am working on my daily tasks and going on my lovely day</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><strong>I want</strong> to know if my attention is requested by someone or some topic</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><strong>So that</strong> when I address it, I know it's done and off my plate (and I can go skateboarding).</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Yes. Two aspects: I want to be notified, and I want to be able to get it off that notification (by marking it as done).</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>When I</strong> work on a topic and I discover that there are sub-topics that we need to work on separately (or in parallel)</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><strong>I want</strong> to quickly be able to break it down and document that structure</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><strong>So that</strong> I can turn a big topic into manageable chunks that can then be assigned to different people and reveal/express the complexity that we've identified.</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Idea: Macro to select text, create a new WP based on that text and mark the current WP as the parent: ##54730<br><br>For open points: this is a way to create 'open topics', but this is a work package feature to kick-off separate or sub- workflow. (Open points are for one topic)</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>When I</strong> have points that require my team's attention</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><strong>I want</strong> to list them all in one place and mark them as open</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><strong>So that</strong> they can be claimed by who ever in the team has more time</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Not relevant, since open points are not meant to be work packages; they simply encapsulate a conversation.<br><br>So if the points are questions related to a single work package, then yes, they can be used to marks that are open/need the team's attention, but each point can not describe additional work.</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>When I</strong> have a specific point within a work package that requires a colleague's attention</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><strong>I want</strong> to be able to mark just that bit as "incomplete" somehow and assign it to them</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><strong>So that</strong> I don't have to have that bit of uncertainly affect the entire status of the work package itself (which can then reflect its <i>actual</i> status)</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Yes. The user wouldn't have to go through the whole description; they could just see what's relevant to them.</p></td></tr></tbody></table></figure>
This is the output of our **workshop/ideation session around Open Points** on Friday (3 May 2024). This is also a test of a newer, more structured way of designing a feature by following a UX-led approach.
**Present:**
* <mention class="mention" data-id="42086" data-type="user" data-text="@Wieland Lindenthal">@Wieland Lindenthal</mention>
* <mention class="mention" data-id="72513" data-type="user" data-text="@Parimal Satyal">@Parimal Satyal</mention>
* <mention class="mention" data-id="72512" data-type="user" data-text="@Marc Alcobé">@Marc Alcobé</mention>
#### We worked on identifying:
* Perceived problems
* Benefits and added value
* Feature ideas
* Usage scenarios
#### **Next steps:**
Next: core feature team will work through the produced material in this document, including ones added by others after the session. This will involve:
* [x] Rewriting and consolidating scenarios (if necessary)
* [ ] Share this with the larger team and introduce contraints
# Draft specification
## **Threads**
* Start a new conversation thread:
* **branching/spin-off**: from an ongoing discussion, using an existing message as the starting point to a thread
* **independent**: create a new thread entirely (outside of the context of existing description or comments)
* **referential**: a new thread is anchored to an existing context (eg. a part of the description)
* A thread can have one of two types:
* Conversation
* Open point
* **Conversation** threads are simple:
* They are simply a parallel conversation thread. They don't have a stated goal per se and no resolution.
* Conversations can be closed (status is no longer open).
* **Open points** are a bit more structured and have these additional attributes:
* First message
* A topic/title (optional? or require it)
* Assignee (optional)
* \[open\] One or multiple? Is this needed at all, or are @mentions enough?
* Resolution or conclusion status ("open" by default, can be "resolved" or "closed", without resolution)
* **Open points can be resolved.** When there is a satisfactory answer that clears up existing confusion or answers a question, that answer can be marked as the resolution.
* When viewing resolved open points, the first message is immediately followed by the resolution (indicating success, for example with the colour green).
* The other replies and messages will be available below the resolution. This might include a repetition of the resolution in the context of the discussion.
* \[open\] Alternatively, you can add a resolution directly? (Button "Resolve")
* This will be both the resolution and the last message of the thread.
* **Work package:** A thread can be created within (and belongs to) a work package.
* Some events appear in the 'Activity' tab (see open questions)
* There is a way to filter to only view:
* Activity updates (journal updates)
* Conversations (incl. threads)
* Threads only
* **Threads tab:** There is new separate tab in the work packages right-side split screen titled "Threads"
* A badge displays the number of threads this work package has
* This view lists only threads
* \[open\] by default:
* closed and resolved or
* everything (closed, resolved, open)
* \[open\] There is a way to filter to show only open open/unresolved threads
* Clicking on a thread will show the full conversation in a modal (in a right-hand drawer or a modal, UI to be decided)
* If resolved, the resolution is visible immediately under the title, without needing to actually open the full conversation.
* \[open\] Threads can be viewed outside of the context of individual work packages, at a project level.
* \[open\] For example, the work packages module could have a new view on the left menu titled "Threads"
* This lists all the threads created in the current context (project? set of projects)
* This list is filterable by:
* thread assignee
* parent work package
* status (open/resolved)
* It is possible to add "Threads" as a column in a work package view. This shows the number of open and resolved threads for each work package.
* Open points can be added to meetings:
* There will be an "Add to meeting" option (in the more menu of an open point)
* This will display a list of upcoming meetings (existing modal)
* Selecting a meeting will then add the open point as an agenda item (at the end of the meeting). The meeting owner or facilitator can change the order to her liking.
* An open point can be resolved in a meeting/
* \[open\] Will this mark the resolution as having come from meeting X?
## **Open points**
* Can closed/resolved threads be re-opened?
* Argument for:
* Argumentg against:
* Should titles/comments be editable?
* Which events appear in the 'Activity' tab:
* New thread created?
* Comments added?
* Resolved?
* Closed?
* Activity tab: A thread will show:
* the topic or the first message (truncated if necessary)
* number of messages (ex. a badge that says "10")
* status (open/resolved)
* last activity (last comment by, resolved by)
* Do open points belong to just work packages?
* What about wiki?
* What is the envelope? (My stuff, cross-project?)
* Can someone "watch" open points?
* Can you add them as watchers?
* \[open\] Threads generate notifications for these events:
* tagged as assignee?
* mentioned
* new thread created for a work package of which I am an author, assignee, responsible or a user in a custom field
## **Potentially out of scope**
* **Emoji reactions**: Users are able to react with emojis to messages in a thread. This is out of scope because it should be possible for all messages, not just ones in threads.
* **Replies in Activity tab**: Should this be a part of threads? (As in, should replying necessarily create a thread, or do we let users reply the way it's possible today?)
* **Voting**: This allows users to vote for an answer from multiple propositions. This is either a mode where users can then pick from existing answers, or where users with the necessary rights can "propose" a certain number of options that everybody can vote on, like a poll.
## **Out of scope**
* **Snoozing**: When a notification concerning an open point appears in my notification center, I can "snooze it" to be reminded of it another time. For example, snooze till:
* Tomorrow
* The day after tomorrow
* Next week
* A specific date
* **Multimedia options**: The ability to add additional types of media like sound and drawings to an open point. This should be possible for all types (including work packages and meeting agenda items).
* **Private open points**: The feature is not meant to be used as a private to do list, where items can be marked as "done"
* **Time-boxing or due dates**: Open points only have an open/resolved status and do not have a due date. This is because the interaction would be more complex than is needed with open points at this stage.
# Raw output
## **Perceived problems**
<figure class="table op-uc-figure_align-center op-uc-figure"><table class="op-uc-table"><thead class="op-uc-table--head"><tr class="op-uc-table--row"><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p"><strong>Item</strong></p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p"><strong>Remarks</strong></p></th></tr></thead><tbody><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>Intimidating large scope</strong>: When I see specs, I get stressed because the topic is too large. Hard for me to give a simple answer; need to first create a (mental) envelope to give it space. Need to think larger to give even a smaller answer.</p></td><td class="op-uc-table--cell"><p class="op-uc-p">YES. Breaking down larger questions (already identified as needing clarification) into manageable chunks is a useful problem to solve. Especially if there is sub-categorisation.</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>When I comment, I want the context of the comment to be more evident. </strong>(If it's about a certain part of a text that I'm responding to, I want to attach somehow that bit of the text so that the person who is looking at the question does not have to go through the whole thing).</p></td><td class="op-uc-table--cell"><p class="op-uc-p">YES. The ability to comment/mark specific bits for discussion/communication would make it easier to respond to just that bit.</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><s><strong>Cognitive load</strong>: I find it cognitively hard for short-term memory people (like managers), to be able to respond to a multi-question prompt and not miss important details. Long texts are stressful. If I send four questions, I know for example that I might not get all the answer.</s></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Same as the above two: break down into smaller pieces + more context.</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>Lack of focus</strong>: If there are multiple topics, I get stressed; for example, if a second topic comes up before a first one has been resolved.</p></td><td class="op-uc-table--cell"><p class="op-uc-p">YES. The ability to move forward in parallel (so that I don't feel like if I address point Nº4, that point Nº2 will be ignored). (Hint: threading?)</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><ul class="op-uc-list"><li class="op-uc-list--item"><p class=" op-uc-p"><strong>Spread out:</strong> Not great when information gets spread out in the application (OP); it's costly to get everything together.</p><ul class="op-uc-list"><li class="op-uc-list--item"><p class=" op-uc-p">Need to choose project</p></li><li class="op-uc-list--item"><p class=" op-uc-p">Choose assignee</p></li><li class="op-uc-list--item"><p class=" op-uc-p">The thing goes out, and nobody responds (or misses the notification)</p></li><li class="op-uc-list--item"><p class=" op-uc-p">Prioritising becomes harder</p></li><li class="op-uc-list--item"><p class=" op-uc-p">Slows down resolution as a result (async is great, but syncing to find resolution to everything is complicated)</p></li></ul></li></ul></td><td class="op-uc-table--cell"><p class="op-uc-p">YES, it would be useful to have the actual response request attached to the thing that it's related to (so that the question is not somewhere completely different). (Ease of information finding)<br><br>YES, if the people whom an open point is directed to are able to easily see them all in one place. (Ease of attention management)<br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>Too many tools: </strong>Having to rely on external tools like Element, which makes dicussion easy but finding relevant decisions later difficult.<br><strong>Async answer need: </strong>If there is a topic that is not something that can be discussed immediately in a current meeting (becaus it can take a long time and the other person might not be ready to answer it immediately), I might pick a tool that I know will go faster, like Element. But this has other problems (documentation, shared info etc).</p></td><td class="op-uc-table--cell"><p class="op-uc-p">YES, if people are able to use OpenProject for async communication too and don't need to rely on external tools like Element. (So that they can easily find this information again). The ability to document decisions and the conversations that led to it would reduce the need to rely on Element.</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>Unbalanced spread of work</strong>: Organisation vs. work is usually done by one person, others check what's assigned for them and do work.<br>Does not allow for collective definition of specs or topics to be addressed.</p></td><td class="op-uc-table--cell"><p class="op-uc-p">YES, if it's possible for open points to some how have "assignees" (or be directed to someone). Then I know that it will not get ignored.<br><br>NO if it's related to meeting agendas and who is responsible for an agenda. You can possibly associate an Open point to an agenda and have someone be responsible for <i>that</i>. </p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">In the course of a discussion (a meeting), an interesting idea comes but, but this it is not the right time to discuss it. However, if we don't address it but also don't give it a clear next step, it will be ignored or will be lost. There needs to be a way to mark them for someone to get back to, so that we can then continue with the normal course of the conversation or meeting.<br></p><ul class="op-uc-list"><li class="op-uc-list--item"><p class=" op-uc-p"><s><strong>Lack of structure</strong>/<strong>objective</strong>/<strong>scope</strong>: If we have a meeting to discuss 3 topics, some of them require more discussion than others. Without structure, we can have interesting or good ideas, but it doesn't move forward. There might be divergent state, but lack of convergence means that the topic remains open. For topic A, the discussion needs:</s></p><ul class="op-uc-list"><li class="op-uc-list--item"><p class=" op-uc-p"><s>Context (why we are talking about it)</s></p></li><li class="op-uc-list--item"><p class=" op-uc-p"><s>The problem (what needs a decision or a resolution)</s></p></li><li class="op-uc-list--item"><p class=" op-uc-p"><s>People (who needs to be involved)</s></p></li><li class="op-uc-list--item"><p class=" op-uc-p"><s>Action: What can be do about it (discuss it now, decide to discuss it later, create a separate meeting)</s></p></li></ul></li></ul></td><td class="op-uc-table--cell"><p class="op-uc-p">YES if public: If I can quickly write down a "Question for Jon for later" or something to get back to myself (spin-off for later), then that does not have to interrupt the flow of an existing conversation.<br><br>NO if private: Is not meant to be a to-do list or reminder for myself (something like 'marking' or 'flagging' might be more relevant for this).</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>Structural difficulty with expression/context</strong>: Can't express myself properly sometimes with just text; easier if I have some visual cues, photos, sound, geolocation, measurements, categorisation.</p></td><td class="op-uc-table--cell"><p class="op-uc-p">MAYBE: Maybe I need to be able to add more than just text to be able to express a problem or a need precisely. (Somethings like images, emojis and categories are surely a YES, something other things like sounds, maybe). But this isn't inherently something that Open points will solve, it it would be another line of exploration.</p></td></tr></tbody></table></figure>
## **Benefits and added value**
How are things going to be better compared to today?
<figure class="table op-uc-figure_align-center op-uc-figure"><table class="op-uc-table"><thead class="op-uc-table--head"><tr class="op-uc-table--row"><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p"><strong>Item</strong></p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p"><strong>Remarks</strong></p></th></tr></thead><tbody><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>Reduce Stress</strong>: no longer need to remember stuff, not forget something, by knowing I'll back to it later</p></td><td class="op-uc-table--cell"><p class="op-uc-p">YES. Especially if I can someone mark things as "done" (then it no longer needs to pay rent to live in my mind).</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>Reduce mental load</strong>: I can unload a thought from my head to a system; it's not lost, there's some sort of follow-up</p></td><td class="op-uc-table--cell"><p class="op-uc-p">YES, same as above. Especially if I can tag someone else too (offloaded from my mind).</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>Actionable list</strong>: By organising things into individual elements (each that are actionable, or "closable"), it makes it easier to keep track and organise questions</p></td><td class="op-uc-table--cell"><p class="op-uc-p">YES, if different open points related to the same 'object' can be marked with different 'statuses' Done/open), I can get a sense of progress of the whole ("where are we now?").</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>Distributed specification</strong>: Because multiple people can identify issues and they become separate threads, single people don't become bottlenecks</p><p class="op-uc-p">Not necessarily "done", but "done for me" = doesn't require my attention anymore</p></td><td class="op-uc-table--cell"><p class="op-uc-p">YES, a bit like the problem specified above (reduce mental load of individual people).</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>Track progress/readiness status</strong>: to mark certain topics as needing attention, that are in the way of something being closed. Example: if I could see a little "3" next to a topic, I'd know, there are three resolved issues getting in the way of it being closed.</p></td><td class="op-uc-table--cell"><p class="op-uc-p">YES, a side effect if we're able to easily see how many "open" points are still open.</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>To do checked effect</strong>: Seeing threads that are closed would also make me feel better, show me the progress I've made, users feel useful rather than see a bunch of open things.</p><p class="op-uc-p">Not necessarily "done", "done for me" = doesn't require my attention anymore</p></td><td class="op-uc-table--cell"><p class="op-uc-p">YES. Psychologically, always nice to mark something as done/closed.</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>Draft</strong>: Write something down (perhaps even in a rough form) to not forget it and be able to get back to it in the future.</p></td><td class="op-uc-table--cell"><p class="op-uc-p">NO, this is private/todo, not something open points can help with.</p></td></tr></tbody></table></figure>
## **Feature ideas**
Interesting ideas that we think might improve current workflow/experience
<figure class="table op-uc-figure_align-center op-uc-figure"><table class="op-uc-table"><thead class="op-uc-table--head"><tr class="op-uc-table--row"><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p"><strong>Item</strong></p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p"><strong>Remarks</strong></p></th></tr></thead><tbody><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>Snoozing</strong>: When I know that something requires my attention, but it's not immediate (but I also don't want to lose track of it): Option to add a reminder to a thread (eg. "Remind me next week"). But also, when setting reminders for someone else (tagging, assigning), it would be useful to be snooze that too.</p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>Better facilitating</strong>: I can define what needs to be discussed, and also get to a certain finality or closures (decision/discussion/add to second meeting/ignore).</p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>I can then easily identify/know if there isn't a closure.</strong></p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>Timer/time-boxing</strong>: items are timed, when the previous one is closed, it triggers the timer for the next one.</p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>Democratisation/Voting</strong>: Each participant gets to pick 3 items (or has 3 votes that can be distributed amongst multiple items).</p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>Checkmark (done)</strong>: Like in GitHub issues, makes it easy to mark things are done or not needing my attention anymore. (Personal, not on my desk anymore)</p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>Decision:</strong> In a meeting, create a sub-task and assign it to someone. Concrete way to define follow-up actions to a decision that is taken.</p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><ul class="op-uc-list"><li class="op-uc-list--item"><p class=" op-uc-p"><strong>Better diffs/previews</strong> of changes withing the work package description or any other custom field of type long text (Careful: this is technically a difficult/complex topic).</p></li><li class="op-uc-list--item"><p class=" op-uc-p">I want to understand easier if I should check/review/follow-up upon a change to a long text (typo fixes vs. significant changes)</p></li></ul></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><ul class="op-uc-list"><li class="op-uc-list--item"><p class=" op-uc-p">The messaging part is <strong>analogue to chat applications</strong>:</p></li><li class="op-uc-list--item"><p class=" op-uc-p">always have the input field for comments visible and sitting at the bottom.</p></li><li class="op-uc-list--item"><p class=" op-uc-p">The order of the activity log should be with the oldest at the top and and the newest visible and directly above the input field.</p></li><li class="op-uc-list--item"><p class=" op-uc-p">Messages by people have a prominent, clear avatar. They are alive/lively.</p></li><li class="op-uc-list--item"><p class=" op-uc-p">Consecutive messages by the same person might get grouped if they belong to the same "message burst", e.g. within the aggregation time. Still, every message that was send is separately identifiable.</p></li></ul></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><ul class="op-uc-list"><li class="op-uc-list--item"><p class=" op-uc-p">Logging other events (status changes, scheduling, custom fields, ...)</p><ul class="op-uc-list"><li class="op-uc-list--item"><p class=" op-uc-p">Attribute changes and their causes, e.g. through scheduling through a relationship, are somewhat more passive than messages. Visually they can blur into the background</p></li></ul></li></ul></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><ul class="op-uc-list"><li class="op-uc-list--item"><p class=" op-uc-p"><strong>Better diffs/previews</strong> of changes withing the work package description or any other custom field of type long text (Careful: this is technically a difficult/complex topic).</p><ul class="op-uc-list"><li class="op-uc-list--item"><p class=" op-uc-p">I want to understand easier if I should check/review/follow-up upon a change to a long text (typo fixes vs. significant changes)</p></li></ul></li></ul></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><ul class="op-uc-list"><li class="op-uc-list--item"><p class=" op-uc-p"><strong>Better diffs/previews</strong> of changes withing the work package description or any other custom field of type long text (Careful: this is technically a difficult/complex topic).</p><ul class="op-uc-list"><li class="op-uc-list--item"><p class=" op-uc-p">I want to understand easier if I should check/review/follow-up upon a change to a long text (typo fixes vs. significant changes)</p></li></ul></li></ul></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><ul class="op-uc-list"><li class="op-uc-list--item"><p class=" op-uc-p"><strong>Reply to message (Clear context communication):</strong></p><ul class="op-uc-list"><li class="op-uc-list--item"><p class=" op-uc-p">On a message hit "Reply" and the message input field indicates that this relates that message.</p></li><li class="op-uc-list--item"><p class=" op-uc-p">When there is a text selected while hitting "Reply" that context gets cited so that it becomes even clearer to which part of a message on is replying to. (That might be similar to adding a comment thread to a word selection inside a long text although there you have a full fledged thread.)</p></li></ul></li></ul></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td></tr></tbody></table></figure>
## **Usage scenarios**
**Task**: Imagine scenarios (temporal/procedural), where an open points feature would improve your life. Use the following format:
> When I...
> I want...
> So that...
<figure class="table op-uc-figure_align-center op-uc-figure"><table class="op-uc-table"><thead class="op-uc-table--head"><tr class="op-uc-table--row"><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p"><strong>When I</strong></p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p"><strong>I want</strong></p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p"><strong>So that</strong></p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Would I use OpenPoints in this scenario?</p></th></tr></thead><tbody><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>When I</strong> am writing specs for a feature and am unsure about a certain behaviour</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><strong>I want</strong> to be able to note down that question and tag a relevant person</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><strong>So that</strong> I can continue working on other things, forget about it for now, and easily get back to the uncertain topic at a later time when that person will have responded.</p></td><td class="op-uc-table--cell"><p class="op-uc-p">YES. </p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>When I</strong> am in a meeting and topics come up that are interesting, but that we don't have time to discuss at the moment</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><strong>I want</strong> to be able to write them down</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><strong>So that</strong> we can move on without ignoring the issues, but that we don't actually forget about it, and there's a concrete step.</p></td><td class="op-uc-table--cell"><p class="op-uc-p">YES. Create open point, tag somebody related to the current topic/work package or add it to the next iteration of the meeting, move on.</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>When I</strong> receive a notification on a topic I'm working on that requires multiple decisions from my side</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><strong>I want</strong> to divide these decisions and organise the timeline for me to work on them</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><strong>So that</strong> I have a clear sense of structure and priority in my workday.</p></td><td class="op-uc-table--cell"><p class="op-uc-p">NO. This is a known challenge for notification management/personal scheduling.</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>When I</strong> write a message on a certain topic, and I know that the other person is acting on it right now</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><strong>I want</strong> to be aware of this</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><strong>So that</strong> I can stay with the topic and save a costly context switch in my head.</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Might not be a feature of open points, but it could be interesting for threading. Interesting bit: notification of the activity of others in real-time.<br><br><s>NO. Open points can't address the notification bit. I need concurrent editing/responding notification so I can stay on.</s></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>When I</strong> interact with a message that I just received</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><strong>I want</strong> to communicate/not give the expectation that I want to answer it immediately, but that I'll get back to it eventually</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><strong>So that</strong> this does not create false expectations between me and the other people, and that there's a process that both can trust.</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Yes, it should be possible to "assign" an open point to somebody if there's a clearly-designated person who is responsible. Doesn't mean they <i>will</i> respoind, but knowing that they have bene tagged, and that this will generate a notification is enough.</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>When I</strong> want to get an overview of items that lack clarity and are thus slowing down work within the scope of a release, a version, a phase...</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><strong>I want</strong> to be able to quickly see the actual issues that need resolving</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><strong>So that</strong> I get a better sense of what the blocks are and what we can do about it.</p></td><td class="op-uc-table--cell"><p class="op-uc-p">YES. Grey areas in a map. Instead of having them be lost in a long description or a chat, having them identified as separate "objects" makes it easier to identify and address them.</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>When I</strong> have a number of different questions, on a number of different topics for the same person</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><strong>I want</strong> to be able to write down those questions (and tag the relevant person) and then easily access that list later</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><strong>So that</strong> when I have a meeting with that person, we can go through the questions and address them one by one (almost like an automatic agenda list for my meeting).</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Yes. The ability to write questions, assignee a person and later access a list of all discussions that are not resolved would be useful. If I can then add them to a meeting (ad-hoc?), it would be even more useful.<br><br>Also, being able to prioritise from a list of open points (which ones need more attention in the next meeting) would also be useful.</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>When I</strong> am working on an external tool (like Figma or Element), and I am taking a decision that needs to be reflected in a work package</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><strong>I want</strong> to bring this decision need into OpenProject </p></td><td class="op-uc-table--cell"><p class="op-uc-p"><strong>So that</strong> the person (who might not have a Figma account) who needs to make that decision is informed about it, so I know that the item doesn't get lost/ignored.</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Yes. Importantly, if a discussion happened outside of OP but needs to be documented in OP, it's easier to create an open point, put the necessary information (tag the relevant person if possible), then resolve it there.</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>When I</strong> am in a conversation with someone where a decision has been taken</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><strong>I want</strong> to have this be noted down somewhere, ideally with an existing place where the topic lives (e.g., work package)</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><strong>So that</strong> other people who might be working on this topic are informed, aware of this decision without my needing to manually communicate this to them (time-consuming).</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Yes. It would make decisions (even made outside of OP originally) better documented/easier to find later (as a decision that was taken: list of resolutions).<br><br>Be careful: not all decisions <i>need </i>to be tracked as "decisions" in OP; it's important to direct this feature a means of <i>documenting</i> certain decisions that required exchange.</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>When I</strong> see there's a decision that I'm not entirely happy with (because we've not discussed it properly, given it enough time, or considered points of view)</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><strong>I want</strong> to document reservations or questions that were ignored</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><strong>So that</strong> I don't feel like important topics that were ignored are forgotten and those topics can be addressed at a later date ("let's handle this later if needed")</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Yes, having a history of a discussion is enough, even if not everyone is happy with the decision. This is what decision-making involves (compromises).</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>When I</strong> want to express a complex thought</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><strong>I want</strong> to have the space to write, add drawings, annotate with other objects like sound, etc.</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><strong>So that</strong> I can clearly express my thoughts without structural limits.</p></td><td class="op-uc-table--cell"><p class="op-uc-p">No. This isn't inherently something that Open points will solve, it it would be another line of exploration.</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>When I</strong> am working on my daily tasks and going on my lovely day</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><strong>I want</strong> to know if my attention is requested by someone or some topic</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><strong>So that</strong> when I address it, I know it's done and off my plate (and I can go skateboarding).</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Yes. Two aspects: I want to be notified, and I want to be able to get it off that notification (by marking it as done).</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>When I</strong> work on a topic and I discover that there are sub-topics that we need to work on separately (or in parallel)</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><strong>I want</strong> to quickly be able to break it down and document that structure</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><strong>So that</strong> I can turn a big topic into manageable chunks that can then be assigned to different people and reveal/express the complexity that we've identified.</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Idea: Macro to select text, create a new WP based on that text and mark the current WP as the parent: ##54730<br><br>For open points: this is a way to create 'open topics', but this is a work package feature to kick-off separate or sub- workflow. (Open points are for one topic)</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>When I</strong> have points that require my team's attention</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><strong>I want</strong> to list them all in one place and mark them as open</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><strong>So that</strong> they can be claimed by who ever in the team has more time</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Not relevant, since open points are not meant to be work packages; they simply encapsulate a conversation.<br><br>So if the points are questions related to a single work package, then yes, they can be used to marks that are open/need the team's attention, but each point can not describe additional work.</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p"><strong>When I</strong> have a specific point within a work package that requires a colleague's attention</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><strong>I want</strong> to be able to mark just that bit as "incomplete" somehow and assign it to them</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><strong>So that</strong> I don't have to have that bit of uncertainly affect the entire status of the work package itself (which can then reflect its <i>actual</i> status)</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Yes. The user wouldn't have to go through the whole description; they could just see what's relevant to them.</p></td></tr></tbody></table></figure>