diff --git a/README.md b/README.md index c85bb3b..7007576 100644 --- a/README.md +++ b/README.md @@ -1,38 +1,130 @@ +
+ # Product Roadmap ![roadmap-1152x672-flip](https://user-images.githubusercontent.com/194400/27068309-5b379538-5007-11e7-99fb-20f09369c672.jpg) +
+
-## _Why_? +# _Why_? 🤷‍♀️ Having a _clear_ **Product Roadmap** is ***essential*** to help ***everyone*** _focus_ -on our collective **goal**. - -### _Public_? - -From a "commercial" perspective making our -Product Roadmap `public` _can_ be viewed as -"_**giving away** all our **secrets**_" by those who follow -_traditional_ (_competition-focussed_) _capitalism_. - -We don't think we are "_competing_" with anyone, -rather we are trying to _serve_ the people -using our app and listen to their feedback. -If there are other people/teams/companies -trying to solve the same challenge as us -and they are _not_ open-sourcing their code -and/or guarding the user-feedback, -they are _stuck_ in a _fixed_ mindset. -We believe that _radical_ transparency and openness -both in _what_ we do and _how_ we do it -is _essential_ for succeeding in our _mission_. - -Only time will tell if making our product roadmap -Public on GitHub is a good or bad idea, we think it's -worth the _experiment_ just to discover the outcome. - -## _What_? +on our _collective **goal**_. + +> **Note**: this document is a +["work-in-progress"](https://en.wiktionary.org/wiki/work_in_progress#Noun), +it's _definitely_ not "finished".
+A _good_ product roadmap evolves over time +in response to _feedback_; +by definition it's _never_ "complete".
+What you are reading is a _snapshot_ +of the roadmap as it is _right now_. +If you ⭐ (bookmark) the repo +and return to it in future, it will _definitely_ be different +because we update it fairly regularly. +We use a Git repo so that we (_and anyone `else` in the community_) +can _track_ the changes/evolution as we +[Learn, Build and Measure](http://theleanstartup.com/principles).
+We welcome any/all feedback on it +_especially_ from people who are `new` +to the +[`@dwyl`](https://github.com/dwyl/start-here#who) +community.
+Please +[open an issue](https://github.com/dwyl/product-roadmap/issues) +if you have any ideas/questions. +Thanks! ✨
+ + +
+ +## _Why_ Are We Building An _App_? + +If there was an _existing_ +(Open Source Cross-platform Real-time Collaborative) +system +that allowed us to achieve _everything_ we have in mind for the dwyl App, +we would _use_ it without hesitation. +Sadly, we have not found any platform +that has a +[_systematic_](https://en.wikipedia.org/wiki/System), +[goal oriented](https://en.wikipedia.org/wiki/Goal_orientation) +and +[collaborative](https://en.wikipedia.org/wiki/Collaboration) +way to _effectively_ let individuals and/or teams: + +1. **Set** **goals** that are ["SMART"](https://en.wikipedia.org/wiki/SMART_criteria) +either freeform or using the [OKR](https://en.wikipedia.org/wiki/OKR) framework. + +2. **Capture** everything on one's mind +as (plaintext) `items`, (voice) `recordings` or `images` +to declutter thoughts +and think more clearly/creatively + +3. **Categorise** the `items` into logical categories using `tags` +(_ideally linked to specific goals_). + +4. **Transform** `items` of text into _actionable_ `items` +such as: +"Task" (_with context, deadline, progress, dependencies, etc._), +"Reminder", +"Calendar" (_Meeting, Date, Event, Travel, etc._), +"Ingredient" (Shopping list `item`), etc. +We want _complete_ versatility in the `tags` that can be applied to items +so that our App can be used for _any_ purpose that helps people organise their lives. + +5. **Track** tasks and goal progress **_visually_**. + +6. **Communicate** with others what task we are focussing on +so we can all avoid interrupting/distracting each other during +["Deep Work"](https://www.calnewport.com/books/deep-work) +Avoiding the "what you doing" type questions, +or general interruptions is essential for focus work. + +7. **Delegate** specific tasks +to people in one's family/team/org +with built-in tracking to _eliminate_ +["status update requests"](https://en.wikipedia.org/wiki/Busy_work) + +There are _plenty_ of "productivity" apps +that _partially_ solve these problems. +_Most_ of the Apps you/we can list are Closed Source, +which rules them out (for us) +for the reasons described in "Why Open Source?" (_below_). +We have _scoured_ GitHub/GitLab/etc. to find an Open Source App/system +we can use and nothing comes _close_ to solving the problem. +We have _extensively studied_ the +UI/UX +of the Closed Source Apps +see: https://github.com/dwyl/product-ux-research/issues +and _none_ of them have the workflow (UX) we want +or they focus on the wrong things! + +[![notion-encourages-busywork](https://user-images.githubusercontent.com/194400/85288902-75077480-b48e-11ea-8b41-75299936985b.png)](https://github.com/dwyl/product-ux-research/issues/5#issuecomment-647495254 "Notion encourages busy-work - Click to read") + +We want to help people focus on the _one_ `task` +they need to be doing _right now_, +and easily hide/show the rest when needed. +We want to apply both the science and art of distraction-free focus +we have read about in books such as +"Deep Work", +"Indistractable", +"Digital Minimalism", +"Make Time", +"Tools of Titans", +"Hyperfocus" +and _many_ others. +The fact is this: +_none_ of the _existing_ closed source Apps +help you to _prioritise_ and _focus_ +on your highest value/impact `items`. +We are _fixing_ that! + +
+ +# _What_? +dwyl's +[mission](https://github.com/dwyl/start-here/blob/6fac8f0e4b9a81cba929eb7e577f22a4a0eb734c/mission.md#what-is-dwyls-mission) +is to: + +## _Empower people to maximise effectiveness, creativity and happiness._ + + +Although Tony Robbins is a somewhat polarising character, we unreservedly agree with this thought: + +## "_The secret to happiness is one word: progress.
Progress equals happiness._" [Tony Robbins](https://www.cnbc.com/2017/10/06/tony-robbins-this-is-the-secret-to-happiness-in-one-word.html) + + +We believe that by helping people +_effectively_ keep track +of their progress +toward their goals,
+they will naturally be happier. +Happiness is almost a _byproduct_ of personal effectiveness! + +## "_Happiness is not something ready made.
It comes from your own actions._" ~ [Dalai Lama](https://www.goodreads.com/quotes/1263-happines) + +By helping people to focus their efforts +on their highest priority items, +we are helping people be _happy_.
+That's a mission we can _all_ get on board with! + + Our immediate plan is to build a **_single_ app** that satisfies _several_ human needs while focussing on the theme of "***personal effectiveness***". + The @dwyl App will be a "_hybrid_" containing several features that together help the individual achieve _all_ of their personal goals through a systematic workflow. +
+ +## _What Problem_ Are We _Solving_? + +We are building an App that +creates a systematic approach +to solve the problem we _all_ face every day.
+What do you think of when you +see/read/hear/think of +the following words: + + +## "_I don't have enough time to_..." + +How many times have you heard +a friend, family member or work colleague +say these words? + +> "I don't have enough time to:"
+> 1. **`exercise`** +> 2. **prepare `healthy` food** +> 3. get a **full night's `sleep`** +> 4. **`read` a book** +> 5. **`declutter` and `clean`** +> 5. **learn a `language`** +> 6. **learn/practice a `skill`** +that will get me the **job** I will **_love_ doing** +> 7. spend with all my **`family` and `friends`** +> 8. **meet `new` people** +> 9. try **`new experiences`** +> 9. pursue a **`creative hobby`** that brings me **joy** +> 10. **play a `musical instrument`** +> 11. go **outdoors and enjoy `nature`** +> 12. **`travel`** + +... the list of things we _think_ we don't have enough time for is _infinite_.
+These are just the ones people most frequently mention. + +Even if we don't _say_ the words out loud, +we have all _thought_ them at some point.
+We all forego doing things that we _really_ want/need to do +because we _feel_ like there isn't enough time.
+ +Whatever your mindset regarding the amount of time +you have available +to do everything you want in life, +one thing is certain: **without** a **_systematic_ approach** +we are **_all_ ineffective** in how we spend/invest our **time**. + +You may have seen the following quote online: + +## "_Lack of direction, not lack of time, is the problem.
We all have 24-hour days._" ~ [Zig Ziglar](https://www.goodreads.com/quotes/270489-lack-of-direction-not-lack-of-time-is-the-problem) + +or + +### "_The bad news is time flies. The good news is you’re the pilot_” ~ [Michael Altshuler](https://www.goodreads.com/quotes/144299) + +or the most +[cliché](https://en.wikipedia.org/wiki/Clich%C3%A9) of all: + +## "_You have the same number of hours in a day as Beyonce_" ~ [Instagram](https://github.com/dwyl/home/issues/29) + + +The problem with these "motivational" quotes +often repeated on social media +is that they can make us **feel _worse_** +about our time-management - _**self**_ +"**productivity** [***shaming***](https://en.wikipedia.org/wiki/Shame)" - +and **don't** actually **_help_** us **move _forward_**! +**Queen Bey** has an _army_ of people helping her get the most out of her day. +The rest of us don't have personal assistants and entourages of people +to help us maximise our time. +The rest of us need a _system_! + + + +Each person has their own _reasons_ +for not having enough time, +but the universal fact is that +very few people are living their _best_ life. +For most people it's not their fault. +The existing _systems_ +for keeping us "on track" are _fundamentally_ broken. +The pull of distraction is overwhelming to most people. + +Billions of people have been lured into _burning_ time +on low-value entertainment activities +such as watching TV or +endlessly scrolling through social media apps +instead of working on their personal goals. + +> As former Facebook President, +[Sean Parker](https://github.com/dwyl/learn-react/issues/23#issuecomment-647521076) +put it: +Facebook's goal is to
+"_consume as much of your time and conscious attention as possible_".
+> The more time you spend on their platforms +the more money they all make.
+They don't care that they are _systematically_ +[wasting the lives of millions of people](https://github.com/nelsonic/nelsonic.github.io/issues/779#issuecomment-625188176). + + + +The _reason_ most people are _ineffective_ at focussing +on tasks that move them toward a specific goal +is that they don't have adequate _systems_ +for focussing on what matters +and maximising personal effectiveness. +Meanwhile the _system_ +[Mark & Pals](https://github.com/dwyl/learn-react/issues/23) +have created has an army of +Social/Computer Science PhDs +whose job it is to make their time-wasting Apps +as [psychologically addictive](https://www.theguardian.com/technology/2018/may/08/social-media-copies-gambling-methods-to-create-psychological-cravings) +as possible. +The average person without a systematic approach doesn't stand a _chance_! + +### System + + +## "_You do not rise to the level of your goals.
You fall to the level of your systems._"
~ [James Clear](https://www.goodreads.com/quotes/9536717), Atomic Habits + + +The ***system*** we are building +is designed to help ourselves and others +move towards our +(life/health/fitness/career/etc.) +goals. +We haven't found a catchy one-line phrase +to summarise it yet. ([`#HelpWanted`]()) +Instead we can describe the App as a means +to answer the following **10 questions**: + +1. **What** are my **goals** in life? +(personal/professional/family/financial/fitness/etc.) +2. Is what I'm doing **right now** +moving me **towards** one of my **goals**? +3. What is the **highest priority task** +that I _should_ be working on **right now**? +4. Is the **highest priority task** well defined +or does it need more detail before I can start on it? +5. What is the **_smallest_ thing** I can **do** +to **make progress** toward one of my **goals**? +6. Am I **_effectively_ communicating** what I'm working on +with other people so they know when I am **focussing**? +7. Is there anything **requiring my attention right now** +that **_cannot_ wait** until the end +of my current highest priority task +or focus time interval? +8. **Who** in my team/family needs me +in order to make progress +on their current (or next) task? +9. Which task on _my_ list **can I _delegate_** +to someone else so that I can focus on +the item that _only_ I can do. +10. What should I **_avoid_ doing** +or **say** "**no**" to now +so that I can **focus** on my highest priority item? + +
+ +## "_The difference between successful people and really successful people is that really successful people say no to almost everything._" ~ [Warren Buffet](https://medium.com/the-ascent/you-can-do-amazing-things-but-only-if-you-have-time-to-do-them-31c07ab5b04e) + +What do _you_ need to (_politely and plainly_) say "***no***" to +so you can **focus** on your **goals**? + + + + +
+ +## 3 Stages of Our Roadmap + + +### 1. _Individual_ Person Experience -> [_Single Player_](https://en.wikipedia.org/wiki/Single-player_video_game) + +If the App is not _immediately_ useful to an _individual_ person +and relies on "network effects" it will be +[DOA](https://en.wikipedia.org/wiki/Dead_on_arrival).
+We need to _optimise_ for the individual _first_ +and then once we are able to use the App individually _ourselves_, +we can move on to the "Team" experience (see below). + +In the _individual_ person experience, the person uses the dwyl App to: + ++ **capture** > **brain-dump** everything they have in their head +so that they can think clearly (_without a cluttered mind_) and prioritise. 📝 + + > Capturing text (_and later voice memos and images_) as "items" + which can then be categorised/organised using tags + is the most intuitive and versatile way of storing data. + We only need _one_ field or data type (`text`). + We can then apply `tags` to an `item` to make it into _anything_ else. + And then the UI renders the item with the appropriate UX + for an `item` with the `tag` `"task"`, displaying a checkbox next to it. + ++ define **individual goals** so they can be more systematic about achieving them. +e.g: + + **Health**: **exercise** for (at least) **1 minute** each day + so I can get/stay fit ❤️ + + **Money**: **save** at least **1%** of my **income** each week/month + for a rainy day/retirement 💰 + + **Family**: spend at least 1 minute of quality time + with a family member each day 💑 + + **Sleep**: get a _full_ night's restful sleep + each night as the foundation for all other goals. 🛌 + + **Career**: practice/learn core work **skill(s)** for **1 minute** + each day to achieve mastery. 👩‍💻 + + etc ... + + > There are _many_ areas where people can have life goals. + Eventually our app will encourage people + to have goals defined for each area of a person's life. + We will have an on-boarding questionnaire to guide them, + a visualisation of "progress" toward each one of the goals + and reminders to review them regularly. + All features to be added to the backlog and worked on in due course! + For now, we need the basic + [**Personas**](https://github.com/dwyl/app/issues/213) + for individuals using the App to guide our discussions. ++ **categorise** the **`items`** (_of **`text`**_) +they brain-dumped into meaningful categories using `tags` + + > ***Ideally*** people should tie each `item` + to a specific goal so that it's clear to them + _why_ they need to do something or _why_ + a particular `item` of information is _relevant_ to them. + > ***However*** we aren't _ever_ going to _force_ + any particular "system" on people. + If someone wants to use our app just + to take random `plaintext` notes that's 100% OK. + We will write Blog posts (_product release notes_) + for the features we build in the future + that will _guide_ people toward having + a more systematic approach. + e.g: set goals, write everything down, + tie all tasks to specific goals, etc. + But until we _build_ those features into our App, + we _must_ make it _useful_ in `plaintext` mode. + + ++ ***prioritise*** the `items` that need to be done first, +those that can be differed or delegated. + + > "_If You Don’t Prioritize Your Life, Someone Else Will_". + ~ [Greg McKeown](https://hbr.org/2012/06/how-to-say-no-to-a-controlling), + [Essentialism](https://youtu.be/euJc0UmSik8) + + ++ ***Use*** the App to stay "on track" +toward _personal_ goals +and get the most important things done. + + +
+ +While we feel the _individual_ experience of the App +needs to be flawless as we want anyone +to be able to use the app in isolation, +we feel the App becomes _exponentially_ more useful/powerful in _teams_. + + + +
+ +### 2. Small _Team_ Experience -> [_Co-op Mode_](https://en.wikipedia.org/wiki/Cooperative_gameplay) + + +We feel that our App will be _incredibly_ helpful +to small "teams" of people who need to collaborate on getting things done. +Small teams will not be limited to "work" colleagues. +Rather we will have personas for families, groups of friends and other associations. +We will focus on this "team" use-case +as soon as we have the basic _individual_ UX working. + +> If you are keen on helping us with the Colab features, +please take a look at our existing backlog: +https://github.com/dwyl/app/issues +If there is a feature you don't see and want to help us describe, +please open an issue! + + +### 3. Big Company/Org Experience -> [_MMORPG_](https://en.wikipedia.org/wiki/Massively_multiplayer_online_role-playing_game)! + +There is no reason why a "Big" company or organisation cannot use the dwyl App. +But this is not our focus right now. +We need to crawl, walk & run before we attempt to _fly_. + + +
+ +## Basic Workflow + The @dwyl App Will have the following basic workflow: ***Capture, Categorise Complete***. -1. ***Capture*** - capture everything that is on your mind in a "brain dump". +1. ***Capture*** - capture everything that is on your mind +in a "brain dump" of one or more `items` of text. 2. ***Categorise*** - split out blocks of text into distinct items and _categorise_ them.
**a)** What type of info/item is it? @@ -102,7 +534,9 @@ For the first step (***Capture***), we will build an ultra-simple interface to allow people to input **`plaintext`** -and save it to a backend as **`text`**. +and save it to a backend as **`text`** +in one or more **`items`**. + For details, please see: [`brain-dump.md`](https://github.com/dwyl/product-roadmap/blob/master/checklists.md) @@ -142,15 +576,24 @@ And finally for the _third_ step, ***Complete***, we will build a simple checklist system. See: [`checklists.md`](https://github.com/dwyl/product-roadmap/blob/master/checklists.md) -### What is _different_ about the @dwyl App? +
+ + +### USP: What is _different_ about the @dwyl App? + +A valid/relevant **question** is: +what makes the @dwyl App unique? -A valid/relevant **question** is: what makes the @dwyl App unique? i.e. What is our ["unique selling point"](https://en.wikipedia.org/wiki/Unique_selling_proposition)?
-The **answer** is: _initially_ it may _appear_ that our App -does not have much different -from existing apps that _partially_ solve the personal effectiveness challenge. +The **answer** is: +_initially_ it may _appear_ that our App +does not differ much +from existing apps that _partially_ solve +the personal effectiveness challenge. + The _major_ differences will become apparent in due course: + 1. **People Not _Profits_** - We are playing an ["***infinite game***"](https://github.com/dwyl/start-here/issues/190) where our _mission_ is to @@ -162,6 +605,7 @@ that is _universally accessible_ to every human being that allows _everyone_ a fair opportunity to live their best life. We will _cooperate_ with _many_ people/organisations to build a comprehensive solution that _anyone_ can use. + 2. ***Open Source*** - All of our code will _always_ be ***Open Source***. That means anyone can modify/extend/improve it. And if people feel we are not doing a good enough job @@ -181,17 +625,19 @@ you have _no control_ and are _forced_ to use the "new version"; their way or the highway. We are going to _eliminate forced updates_ by implementing a UX/UI innovation we call Progressive UI. + 3. **Progressive UX/UI** - the UX/UI for _each_ person using the app, will be _personalised_ to the individual based on the features they (_most_) _use_. If the person does not _use_ a particular function, they won't _see_ it. > Note: This might not feel relevant during "MVP", but it will be an _amazing_ feature once our app has _lots_ of functionality. + 4. **Best-in-Class Engineering Practices** - Focus on high quality software product with best-in-class engineering practices. We are building a robust and reliable app -with a focus end-to-end testing to ensure a consistent UX +with a focus on end-to-end testing to ensure a consistent UX on as many devices as possible. There shouldn't be any surprises or inconsistent UX (_bugs_), and if there are, they can be reported and fixed _fast_. @@ -222,7 +668,7 @@ but we will draw inspiration from _many_ sources. -## _Who_? +# _Who_? Who is this product roadmap intended for? @@ -230,24 +676,32 @@ Who is this product roadmap intended for? + _Everyone_ ***contributing*** to the various project(s) that make up the dwyl app. -(_provided the **contribution guidelines/workflow** is **respected/followed** to **avoid chaos**_). + + #### _Who NOT_? Who should *not* be reading this product roadmap? Anyone who: -+ believes the World (_or themself_) "_cannot be improved_. ++ believes the World (_or themself_) "_cannot be improved_". +If you already have everything in your life figured out, +you probably won't be reading this. + thinks the challenges listed above are "_already solved_" -by "XYZ Company" ... +by "XYZ Company" ... + is not _obsessed_ by working on solving a _problem_ that benefits all of humanity. + does **not _want_ to _learn_** the skills required -to build something great. +to build something meaningful. + -## When? +# _When_? We started a laying the groundwork for building the dwyl app _while_ ago ...
@@ -259,7 +713,7 @@ _**Get involved today** and **help us prioritize** which **features** get built **next**_! -## _How_? +# How? If you want to get involved in helping us with the App, there are 4 ways to help: @@ -278,9 +732,8 @@ See: https://github.com/dwyl/technology-stack ### Tech & Features Roadmap This list _will_ evolve over time.
+and check them off this list as we go We will insert links to specific features -and check them off this list as we go. - #### MVP Basic Workflow @@ -312,7 +765,8 @@ and [dwyl/app#254](https://github.com/dwyl/app/issues/254) -+ [ ] Capture (_upload_) images from mobile. ++ [ ] Capture (_upload_) images from mobile+web + + [ ] Categorise (_tag_) the images for [findability](https://en.wikipedia.org/wiki/Findability). @@ -334,6 +788,7 @@ See: https://github.com/dwyl/postgres-history-spike/issues/1 -## Further Reading +
-+ "How we built a product vision and roadmap": -https://wildbit.com/blog/2016/05/11/how-we-built-a-product-vision-and-roadmap -(_a really good read! also image credit!_) +> **Note**: while the App Store might categorise +the App we are building as +["Productivity"](https://apps.apple.com/us/genre/ios-productivity/id6007), +we don't refer to it as -
+ +## Why Open Source? + + + +## _Public_? + +From a "commercial" perspective, making our +Product Roadmap `public` _can_ be viewed as +"_**giving away** all our **secrets**_" by those who follow +_traditional_ (_competition-focussed_) _capitalism_. + +We don't think we are "_competing_" with anyone, +rather we are trying to _serve_ the people +using our app and listen to their feedback. +If there are other people/teams/companies +trying to solve the same challenge as us +and they are _not_ open-sourcing their code +and/or guarding the user-feedback, +they are _stuck_ in a _fixed_ mindset. +We believe that _radical_ transparency and openness +both in _what_ we do and _how_ we do it +is _essential_ for succeeding in our _mission_. + +Only time will tell if making our product roadmap +Public on GitHub is a good or bad idea, we think it's +worth the _experiment_ just to discover the outcome. + +
### Why Do So _Few_ Companies Make Their "Road Map" Public? @@ -403,7 +887,7 @@ https://wildbit.com/blog/2016/05/11/how-we-built-a-product-vision-and-roadmap _**Most companies**/organisations are **deliberately** "**guarded**" with their Product Roadmap for a **number** of **reasons** -that all boil down to_ +that can be summarised as_ ["***FUD***"](https://en.wikipedia.org/wiki/Fear,_uncertainty_and_doubt): + _**Fear** that a "**competitor**" will "**steal**" their **ideas**_ @@ -428,3 +912,57 @@ but only because the knowledge is **not** shared openly_. _Committing to a long-range map implies a fixed/inflexible destination._ + _**Doubt** in their **own ability** to **deliver** the plan_. + +

+ + + + + + +### Final Note + +The purpose of this document is to +share the "Vision" for what we are building. +No map is a _complete_ representation of the world; +it's just a "model" that allows us to think about it. +When you open Google Maps on your phone +it does not show you all the street lights and advertising billboards. +It's the same thing with a Software Product Roadmap. +Including _everything_ would be totally overwhelming to the reader. + +Just because a feature is _not_ on this roadmap +does not mean we have not thought of it. +In some cases ideas are only in the Backlog: +[app/issues](https://github.com/dwyl/app/issues) +and are not reflected here. +In _many_ cases the features/ideas +are added to and discussed on the backlog +and never added to Roadmap because +they don't _need_ to be on the map. + +Our long-term objective is to build a "Platform" for Personal Effectiveness +that _other_ people can add their own features to. +That is not described here +because it's too "grandiose" at this stage. +Instead, that part of our long-term vision +is summarised as "API". +Having a REST+Realtime API will allow +anyone to interact with their data +and build their own UI/UX. +Building a _Platform_ will allow +any developer/team to build entire features +and make them available to the entire base of people using the @dwyl app. +That's a _much_ bigger undertaking, +which is why we are not discussing +it until we have traction (10K+ people using the app each day). + +
+ +## Further Reading + ++ "How we built a product vision and roadmap": +https://wildbit.com/blog/2016/05/11/how-we-built-a-product-vision-and-roadmap +(_a really good read! also image credit!_) +