Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

EPIC: How to Prioritise Our Most Important, Urgent or Valuable Tasks? #283

Open
nelsonic opened this issue Aug 19, 2022 · 7 comments
Open
Assignees
Labels
discuss Share your constructive thoughts on how to make progress with this issue epic A feature idea that is large enough to require a sprint (5 days) or more and has smaller sub-issues. feedback Feedback from people using the App needs-criteria needs-ui A feature idea that needs UI in order to be discussed/built. priority-1 Highest priority issue. This is costing us money every minute that passes. technical A technical issue that requires understanding of the code, infrastructure or dependencies UI

Comments

@nelsonic
Copy link
Member

nelsonic commented Aug 19, 2022

At present our MVP: mvp.fly.dev is a flat list that has zero categorisation/organisation or prioritisation. πŸ€¦β€β™€οΈ
This is OK for MVP while we are just testing UX of capturing and time-tracking, but doesn't yet solve our problem. πŸ€·β€β™€οΈ
Having a flat list of items without any ability to tag,order or filter them, is basically square one of solving the problem. πŸ˜•

What would be a sustainable way of prioritising items so that we:
a. always work on our highest priority item
b. aren't distracted by other items that are lower priority
c. retain flexibility in case an even more urgent item appears

Questions

How can we:

  1. intuitively prioritise items? πŸ”
    Will people expect a drag-n-drop re-ordering interface? πŸ‰
    How well does that work on Mobile? πŸ“±
  2. visualise priorities;
    e.g: is a sorted list best? or is there some other way you've seen / thought of?
    i. Will the Desktop UI/UX be significantly different from the Mobile?
    e.g: a Dependency Graph or Gantt Chart might not work very well on a tiny screen. πŸ’­

Once the list is prioritised should the remaining items be hidden to avoid clutter/distraction?

please comment with your ideas! πŸ™ πŸ’‘

@nelsonic nelsonic added discuss Share your constructive thoughts on how to make progress with this issue UI priority-1 Highest priority issue. This is costing us money every minute that passes. technical A technical issue that requires understanding of the code, infrastructure or dependencies epic A feature idea that is large enough to require a sprint (5 days) or more and has smaller sub-issues. feedback Feedback from people using the App needs-criteria needs-ui A feature idea that needs UI in order to be discussed/built. labels Aug 19, 2022
@nelsonic
Copy link
Member Author

nelsonic commented Aug 30, 2022

Related: Adora Cheung - How to Prioritize Your Time: https://youtu.be/XcCmMOWuAF4

image

image

image

image

image

"Always be working on things that directly impact your primary KPI. Do the things that have the highest impact to meet your weekly goal. That usually means talking to users and building product."

@Stephanymtr
Copy link
Member

Hi Nelson, I have been using the MVP app for a couple of days now and there are a few features that if added would be great.

  • Reordering or sorting, as Ines suggested, would be a great way stay organize. Instead of reading each task one by one, we could sort them out by: priority, due date, or alphabetically etc
  • Having built-in reminders would be useful to help people like me who just can't remember everything. πŸ˜† It would be even better if we could tag other people or share these reminders with others. You could even add more features like: day and time of the event/reminder, how often Ex: Make sure A takes his vitamins at 4:30pm/ Make sure A is ready for his swimming lesson by 5pm
  • Using tight language or shorthand to write tasks can be helpful, but having the option to use priority ratings, stars, tags, etc can help important tasks stand out. Color-coding or Applying icons to each task may also be useful for some people.
  • In hopes of being more organized, having more than one list can also be helpful. The same way you guys are always creating new issues (for new ideas), we should also be able to create new lists for different parts of work/life. Having the option to share the lists (temporarily and/or permanently) with the team can make for a great internal communication.

@nelsonic
Copy link
Member Author

Hey @Stephanymtr thanks for using the MVP dwyl/mvp#140 πŸ“±
and providing this superb insightful feedback! πŸŽ‰
Totally agree that a means of re-ordering tasks is pretty much a "must have" feature. ⬇️
The implementation detail is the tricky part... πŸ’­
You've touched on a number factors in your comment πŸ’‘
I will attempt to address each in turn and link to the relevant issues πŸ”—
so that we can begin to break this down into bytesize chunks and build them all! βœ…

  1. We need to work on tagging our items so that we can introduce the concept of priority.
    Ref: EPIC: tag items to categorise and organizeΒ #245

  2. The concept of an optional Due Date or deadline is essential to the prioritization of many items and conversely the de-prioritization of others. i.e: if an item doesn't have a deadline it is automatically de-prioritized in a list that has items with a deadline.
    Ref: Events (how to attach date-related data to any item?)Β #280

We could either make the deadline an event such that the event.kind=deadline
or we could create a new field on the item record e.g: item.deadline πŸ“…
This is an example of a technical decision that doesn't impact the UI/UX, πŸ“±
but does affect how we store & query the data in the DB. πŸ’­

  1. Alphabetical ordering items could be an option ... We don't don't currently have it on our roadmap. What would expect from this feature? Would the items simply be ordered by the item.text? πŸ’­ (more detail required; feel free to open a separate issue πŸ™)

  2. Reminders are another must-have feature. They are a sub-feature of events Events (how to attach date-related data to any item?)Β #280.
    i.e: you don't want random reminders to do things cause it's just notification-noise.
    rather, you want to create an item with an associated event
    which can then optionally remind you with a desired time period/frequency.

An example of this could be:

  • item.text="Write AMI Child in the Family Essay"
  • event.kind=deadline
  • event.end=2022-09-17 12:00
  • event.reminder=2022-09-16 12:00 i.e remind me 24 before the deadline.
  1. Priority ratings 1️⃣, stars ⭐ and taging 🏷️ are all the same feature under-the-hood: tags Events (how to attach date-related data to any item?)Β #280 What you have highlighted is the idea of tagging with an emoji which we had not yet captured as a requirement anywhere ...
    e.g: tag.text= ⭐ or tag.text= ⭐ ⭐ ⭐ (even higher priority) or tag.text= πŸ”₯ (urgent)

  2. Multiple lists in order to separate different items is another essential feature even in "single player mode" because it allows us to have the concept of "Work" and "Life", "Shopping", "Goals" etc. these are all just different kinds of list. see: EPIC: ListsΒ #271

  3. Sharing lists! Now that's the feature that will truly unlock the usefulness of our App! We refer to it as "multi-player" or team mode in the Roadmap: dwyl/product-roadmap#3-stages-of-our-roadmap
    Ref: EPIC: Team ModeΒ #219

Once again thank you (very much) for your thoughtful feedback! πŸ™
Seems like we need to prioritize tags ASAP #245 to unlock prioritization. πŸ’­ #HelpWanted

@nelsonic
Copy link
Member Author

@SimonLab looks like we can pull off basic drag-and-drop using Alpine.js: 🀞
https://codeblog.trovster.com/2020/05/alpinejs-drag-and-drop/ πŸ“
https://www.youtube.com/watch?v=zJ4NQaiYxKs πŸ“Ί
https://codepen.io/trovster/pen/oNjGGMq πŸ‘¨β€πŸ’»

Screen.Recording.2022-09-30.at.10.36.28.mov

Wanna try and Spike this next week? πŸ’­

@SimonLab
Copy link
Member

Sounds good! Happy to try this once I've finished with the tags!
I guess we'll need to add an priority_order field in the database for the items

@nelsonic
Copy link
Member Author

@SimonLab stoked you're on-board with trying to Spike this with Alpine.js ... 🀞
I actually think this will make more sense in the context of having lists #271
Because we can add the priority order in a list. πŸ“
Adding a priority (order) field to item will be out-of-context. πŸ€”

Instead, we want to be able to:

a. Add an item to one (or more) list - having an item belong to multiple lists will be a super-power. πŸ¦Έβ€β™€οΈ
b. Prioritise (order) the items within the context of that list ⬆️ ⬇️
c. Share that list with an org member (colleague/family) so they can see the prioritised (ordered) list. πŸ”—

We also need to think about how to track when the order changes (or is changed by someone) πŸ€·β€β™‚οΈ
i.e. Who changed it and When for shared lists #219 πŸ‘₯

We can further discuss/backlog-groom/plan this next week. πŸ‘Œ

@nelsonic
Copy link
Member Author

SPIKE to do reordering of item: dwyl/learn-alpine.js#4

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discuss Share your constructive thoughts on how to make progress with this issue epic A feature idea that is large enough to require a sprint (5 days) or more and has smaller sub-issues. feedback Feedback from people using the App needs-criteria needs-ui A feature idea that needs UI in order to be discussed/built. priority-1 Highest priority issue. This is costing us money every minute that passes. technical A technical issue that requires understanding of the code, infrastructure or dependencies UI
Projects
None yet
Development

No branches or pull requests

5 participants