EPIC: How to Prioritise Our Most Important, Urgent or Valuable Tasks?
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:
-
intuitively prioritise
items? π Will peopleexpecta drag-n-drop re-ordering interface? π How well does that work onMobile? π± -
visualise priorities;
e.g: is a sorted list best? or is there some other way you've seen / thought of?
i. Will the
DesktopUI/UX be significantly different from theMobile? 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! π π‘
Related: Adora Cheung - How to Prioritize Your Time: https://youtu.be/XcCmMOWuAF4




"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."
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.
Hey @Stephanymtr thanks for using the MVP https://github.com/dwyl/mvp/issues/140 :iphone: and providing this superb insightful feedback! :tada: Totally agree that a means of re-ordering tasks is pretty much a "must have" feature. :arrow_down: The implementation detail is the tricky part... :thought_balloon: You've touched on a number factors in your comment :bulb: I will attempt to address each in turn and link to the relevant issues :link: so that we can begin to break this down into bytesize chunks and build them all! :white_check_mark:
-
We need to work on
taggingouritemsso that we can introduce the concept ofpriority. Ref: https://github.com/dwyl/app/issues/245 -
The concept of an optional
Due Dateordeadlineis essential to the prioritization of manyitemsand conversely the de-prioritization of others. i.e: if anitemdoesn't have adeadlineit is automatically de-prioritized in alistthat hasitemswith adeadline. Ref: https://github.com/dwyl/app/issues/280
We could either make the
deadlineaneventsuch that theevent.kind=deadlineor we could create a new field on theitemrecord e.g:item.deadline:date: This is an example of atechnicaldecision that doesn't impact the UI/UX, :iphone: but does affect how we store & query the data in the DB. :thought_balloon:
-
Alphabetical ordering
itemscould be an option ... We don't don't currently have it on our roadmap. What would expect from this feature? Would theitemssimply be ordered by theitem.text? :thought_balloon: (more detail required; feel free to open a separate issue :pray:) -
Reminders are another must-have feature. They are a sub-feature of
events#280. i.e: you don't want random reminders to do things cause it's just notification-noise. rather, you want to create anitemwith an associatedeventwhich 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=deadlineevent.end=2022-09-17 12:00event.reminder=2022-09-16 12:00i.e remind me24before the deadline.
-
Priority ratings :one:, stars :star: and
taging:label: are all the same feature under-the-hood:tags#280 What you have highlighted is the idea of tagging with anemojiwhich we had not yet captured as a requirement anywhere ...
e.g:tag.text=:star: ortag.text=:star: :star: :star: (even higher priority) ortag.text=:fire: (urgent) -
Multiple
listsin order to separate differentitemsis 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 oflist. see: #271 -
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: https://github.com/dwyl/app/issues/219
Once again thank you (very much) for your thoughtful feedback! :pray:
Seems like we need to prioritize tags ASAP #245 to unlock prioritization. :thought_balloon: #HelpWanted
@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 π¨βπ»
https://user-images.githubusercontent.com/194400/193241651-92fd0805-822c-41b4-9971-35bb7bcc2aca.mov
Wanna try and Spike this next week? π
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
@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. π
SPIKE to do reordering of item: https://github.com/dwyl/learn-alpine.js/issues/4
