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

Update/Expand What Section of README.md issue #9 #13

Merged
merged 28 commits into from
Nov 11, 2019
Merged
Show file tree
Hide file tree
Changes from 14 commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
4b55778
add brain-dump.md file with inital contents for https://github.com/dw…
nelsonic Nov 4, 2019
d1c63d5
[WiP] start extending "What?" section for #9 > "Capture, Categorise, …
nelsonic Nov 4, 2019
c42a177
add background detail for "Brain Dump" issue https://github.com/dwyl/…
nelsonic Nov 5, 2019
63a09a9
attempt to clarify similar features of existing apps for #9
nelsonic Nov 5, 2019
c897dc9
expand clarification of steps in @dwyl workflow for #9
nelsonic Nov 7, 2019
009bc2a
comment out (distracting) list of universal human needs for #9
nelsonic Nov 7, 2019
68094b9
add link to "Categorise" issue https://github.com/dwyl/product-roadma…
nelsonic Nov 8, 2019
b54501e
rename brain-dump.md to capture.md consistent with the "Workflow" #9
nelsonic Nov 8, 2019
70e565d
reduce size of brain dump image #12
nelsonic Nov 8, 2019
b1a365a
update "USP" section of README.md for #9
nelsonic Nov 8, 2019
e03f0b6
add "How you can help" section to README.md
nelsonic Nov 8, 2019
3f7cd7a
simplify "How?" section #16
nelsonic Nov 9, 2019
a2d16a9
add enough to product roadmap to get started working on the app! #16
nelsonic Nov 9, 2019
7202898
move "Why other companies dont open source their product map?" questi…
nelsonic Nov 10, 2019
c47cf17
fix enumeration d) -> e) issue noted by @iteles review https://github…
nelsonic Nov 10, 2019
623209c
fix typo plaintex > plaintext noted by @iteles in https://github.com/…
nelsonic Nov 10, 2019
074b7b2
fix typo palintext > plaintext https://youtu.be/psitOvKq6X8
nelsonic Nov 11, 2019
c8c96b9
Inês prefers bullet points to *not* have a full stop, so remove.
nelsonic Nov 11, 2019
ea191b8
update link to "categorise" issue in light of moving to App repo.
nelsonic Nov 11, 2019
537fa14
fix grammar in sentence: "This is might" > "This might". Thanks @simo…
nelsonic Nov 11, 2019
260b45b
Update link to issue in readme
iteles Nov 11, 2019
9e9f800
Update link to "categorise" issue in readme
iteles Nov 11, 2019
96622af
Update capture.md grammar 'of' > 'for'
iteles Nov 11, 2019
e0e39ef
Updates link to "capture" first issue in capture.md
iteles Nov 11, 2019
4eb1deb
add link to Elm PWA thread https://github.com/dwyl/learn-elm/issues/54
nelsonic Nov 11, 2019
cb314e2
update link to Elon Musk "work hard every waking hour" https://youtu.…
nelsonic Nov 11, 2019
2212039
fixing subtitle of UPS
SimonLab Nov 11, 2019
3155086
merge video link
SimonLab Nov 11, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
323 changes: 275 additions & 48 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,26 +5,25 @@

## _Why_?

Having a **_clear_ Product Roadmap** is ***essential*** for
ensuring ***everyone*** is ***focussed***
on working towards the collective ***goal***.
Having a _clear_ **Product Roadmap** is ***essential***
to help ***everyone*** _focus_
on our collective **goal**.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 A fan of how succinct this 'why' is

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, had to tighten it. 👍


### _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_".
_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 problem as us
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 the _old_ mindset.

they are _stuck_ in a _fixed_ mindset.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I want to add something in here about how the goal is not to safeguard our own profits or ability to make money. We need to be sustainable but the more people working towards a world where people are not overwhelmed, riddled with anxiety and always lifting each other up, the better.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@iteles agree with the sentiment of putting people before profit while being sustainable. 👍
I feel that is more suited to https://github.com/dwyl/start-here/blob/master/manifesto.md 💭

We believe that _radical_ transparency and openness
both in _what_ we do and _how_ we do it
is _essential_ for succeeding in our _mission_.
Expand All @@ -33,65 +32,198 @@ 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?
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like that this was removed. I think it distracts from the main message and the two paragraphs above say all that is needed in a much more concise way 👍

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@iteles moved to the end of the doc; not removed entirely.



_**Most companies**/organisations are
**deliberately** "**guarded**" with
their Product Roadmap for a **number** of **reasons**
that all boil down to_
["***FUD***"](https://en.wikipedia.org/wiki/Fear,_uncertainty_and_doubt):

+ _**Fear** that a "**competitor**" will "**steal**" their **ideas**_
(_and get to "**market**" **faster** thus "capturing" the "**users**"_)

> _**Note**: In **some cases** this **fear**
is **justified** e.g: where an innovation
is easy to replicate and difficult to differentiate.<br />
However we **hypothesize** that
being **open** and **transparent**
with our roadmap will foster
a more **collaborative culture**_)

+ _**Fear** that members of their **own team** will leave
and "**steal**" their **secrets**; this happens more
[often](http://mashable.com/2017/05/20/uber-vs-google-waymo-self-driving-car-wars-get-nasty)
people realise_.

+ _**Uncertainty** about the **future** of their **product/industry**_
(_committing to a long-range map implies a fixed/inflexible destination_)

+ _**Doubt** in their **own ability** to **deliver** the plan_.



## _What_?

<!--
In "Phase One" of dwyl we are building
a software application to solve a _specific_ set
of ***7 Universal Human Needs***:

1. **Communication**
2. **_Personal_ Time Management**
2. **_Personal_ Effectiveness** through **Task and Time Management**
3. **Teamwork**
4. [***Self-Actualisation***](https://en.wikipedia.org/wiki/Self-actualization)

Later, once we have an _excellent_ UX for our core app,
we will strategically expand our app
to cover other areas including:
4. **Life-long Learning**
5. **Nutrition, Health and Fitness**
6. **Personal Finance Management**
7. [***Self-Actualisation***](https://en.wikipedia.org/wiki/Self-actualization)

> _**Note**: we don't expect a **single** app to magically "**solve**"
all of these problems, and we are **not** going
to "tackle" all the problems at **once**;
we may end up only having time/resources to solve **one**
of these challenges.
This list is intended as a guide not a "gospel"._
-->

Our immediate plan is to build a **_single_ app**
that satisfies _several_ human needs
by focussing on "personal effectiveness".
We will build simple UI/UX that helps people
achieve _all_ of their personal goals: Checklists.
GOTO: [`checklists.md`](https://github.com/dwyl/product-roadmap/blob/master/checklists.md)
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.

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".
2. ***Categorise*** - split out blocks of text
into distinct items and _categorise_ them. <br />
**a)** What type of info/item is it?
e.g: Todo Item, Reading list item, shopping list,
random thought, bucket list? <br />
**b)** Do you have an _existing_ category/tag for the item
or is it **`new`**? <br />
**c)** Contextualise the item in terms of time/space:
a shopping list item context could be "grocery store"
whereas a reading list item could be "daily commute"<br />
**d)** **Add** any additional ***detail*** you can think of at the time.
e.g: acceptance criteria, deadline, dependencies <br />
**d)** If the item is a task that has sub-tasks, create and link them.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be e.
Also, Linking them definitely belongs here but splitting a task out into actionable steps doesn't really belong here. It will evolve.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@iteles indeed it will evolve rapidly. 🐎
My aim was merely to address #9 and clarify What we are building in the MVP phase. 👍

3. ***Complete*** - do the work to _complete_ the item/task.<br />
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a very big section. Whereas the first 2 'C's are small, independent actions, this one can involve a lot of different steps and take a long time depending on dependencies (i.e. if you're not doing the work yourself or waiting for bureaucracies). We'll eventually need to split this out but it doesn't have to be done now.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@iteles yeah, the first two steps are relatively succinct and the third is where the real work is done.
I very much want the Product Manager/Owner to take responsibility for the "Workflow" and get feedback from people using the app. Ultimately the App will succeed (or fail) based on the simplicity (or complexity) of the workflow (getting the text of a "brain dump" to be a task/reminder/etc. and then getting it to done as effectively as possible)
image

**a)** Re-read the original description
and determine if you have everything you need to start the task.
If not, write down what is missing. <br />
**b)** ***Delegate*** if necessary/possible <br />
**c)** ***Track progress*** of the task. <br />
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Estimates and Timers included in this section?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@iteles I'm so glad you asked ... 🎉
Time estimation and tracking will absolutely be an integral step of Categorise and Complete steps in the second sprint of our MVP. 😉
Want track down (or create) the user story to ensure it's in the backlog? 💭

**d)** ***Confirm*** it was completed to expected standard. <br />
**e)** ***Review*** & ***Reflect*** - confirm the task was completed
and all the original criteria were met by the assignee.
Leave a brief feedback comment with any thoughts.
Check the item off as "Done" if appropriate.

For the first step (***Capture***),
we will build an ultra-simple interface
to allow people to
input **`palintext`**
nelsonic marked this conversation as resolved.
Show resolved Hide resolved
and save it to a backend as **`text`**.
For details, please see:
[`brain-dump.md`](https://github.com/dwyl/product-roadmap/blob/master/checklists.md)

Once the text input is working,
we will iterate and improve it
in several interesting and innovative ways
in response to feedback from people _using_ the MVP. <br />
We will add additional methods
to help people "capture" information.
e.g:
+ Linking to external sources of information.
nelsonic marked this conversation as resolved.
Show resolved Hide resolved
+ Photo/image uploads
+ Optical Character Recognition (OCR)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🙌

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Indeed ... https://github.com/tesseract-ocr/tesseract 👀
we will need to hire someone to do this work after our MVP is working to the PM/PO's and beta tester's satisfaction. i.e. after several other features are complete. But it's definitely on the Roadmap.

+ Image/object recognition
+ Voice/audio recording
+ Speech transcription and indexing

These are complex features
that have formed the basis for entire companies.
So in order to make progress with them,
we will need to _significantly_ leverage
the Open Source work of many brilliant people.
But we are getting ahead of ourselves;
we need to _first_ focus
on creating "MVP" versions
of each step in the workflow.

For the _second_ step, ***Categorise***,
we will need a tagging system that allows people
to apply textual labels to items.
The UX for this is still "TBD".
We will need to sketch it out ahead of sprint planning.
See: https://github.com/dwyl/product-roadmap/issues/15
nelsonic marked this conversation as resolved.
Show resolved Hide resolved


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)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've noticed a few typos on the checklist document, I'll create a new PR to fix them.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@SimonLab yes, please do fix when you have time. thanks. 👍






### USP: What is _different_ about the @dwyl App?
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

image

Sub title not displayed correctly. Looking why it's broken.

Also the USP meaning wasn't obvious to me and had too google it. We can write it down fully (Unique Selling Point/Proposition) or link it to the wikipedia page: https://en.wikipedia.org/wiki/Unique_selling_proposition

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@SimonLab please edit it to help clarify it for others. thanks. 👍

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry just saw the link to the Wikipedia page just under.


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)?<br />
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 _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
"_Empower people to maximise effectiveness, creativity and happiness_."
See:
[What is dwyl's mission?](https://github.com/dwyl/start-here/blob/master/mission.md#what-is-dwyls-mission)
We will not _rest_ until we have created a system/app
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.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will require clarification. We don't want people to look at this and think 'it's an app that will try to be all things to all people and therefore is guaranteed to fail'. We need to add a section in here about a targeted approach and first audience. I'm just adding in these comments as I'm reading through to make sure I can come back to this PR and make any changes later 😊

Copy link
Member Author

@nelsonic nelsonic Nov 10, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Indeed. I'd be very happy to see your (and other people's) improvements ...
https://github.com/dwyl/product-roadmap/graphs/contributors
ronery

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
of stewarding the App/community, they can _tell_ us!
Of the _many_ "productivity" apps out there,
almost _none_ are Open Source.
This means that your usage is locked-in to their system for better or worse.
Your data is bound by their "terms and conditions"
(_including being visible to 3<sup>rd</sup> party "analytics" providers
i.e. Google_)
and you are a _hostage_ to their whims.
If they decide to have a UI re-write
that
[_completely_ changes](https://github.com/dwyl/product-roadmap/issues/14)
how you interact with the App,
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 is might not feel relevant during "MVP",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🙌 This will of course be coupled with a discovery section where people can take a look at other features

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed. That's going to be one of our USPs. Each feature will have a walkthrough demo/video that will explain why the feature exists, who it's for and how to use it. 💡

nelsonic marked this conversation as resolved.
Show resolved Hide resolved
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
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_.


#### Familiar UX?

In some cases the features and UX we are building
may appear _familiar_
because several other people/teams/companies
have _attempted_ to solve this challenge before.
If you are well-versed in _existing_ software/apps
or curious about UI/Design in general,
you _might_ find certain features familiar.
You may think:
"_note-taking similar to Evernote_",
"_collaborative editing like Google Docs_"
or "_offline reading like Pocket_".
In _most_ cases the app(s)
that _already_ has/have a certain feature(s)
(_e.g. nested note-taking, collaborative editing
or offline distraction-free reading_)
did not _invent_ the feature,
they merely have a memorable _implementation_ of it.
Our intention is _never_ to "copy"
the feature/UX of another App,
but we will draw inspiration from _many_ sources.



## _Who_?
Expand Down Expand Up @@ -132,10 +264,69 @@ which **features** get built **next**_!

## How?

If you want to get involved in helping us with the App,
there are 4 ways to help:

1. **Use** the **_Beta_ App**!
`[insert app link here!]`
2. Give us ***feedback*** on the **_existing_ UX**
`[insert feedback link here!]`
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎉

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Coming very soon ... 😉

3. **Read** the
[issues](https://github.com/dwyl/time/issues?q=label%3A%22help+wanted%22+is%3Aissue+is%3Aopen)
iteles marked this conversation as resolved.
Show resolved Hide resolved
and help us answer questions if you can.
4. Write some **`code`**!
See: https://github.com/dwyl/technology-stack


### Tech & Features Roadmap


This list _will_ evolve over time. <br />
We will insert links to specific features
and check them off this list as we go.

#### MVP Basic Workflow

+ [ ] Mobile First UI/UX to **Capture** **`plaintex`**
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

plaintext (also needs correcting in the lines below)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

plaintex -> plaintext typos fixed in 3 instances. thanks for spotting. 👍

+ [ ] Save **`plaintex`** data to Phoenix backend
+ [ ] Simple UX to **Categorise** (Transform)
the **`plaintex`** into actionable items. <br />
UI/UX **`help wanted`**: https://github.com/dwyl/product-roadmap/issues/15
iteles marked this conversation as resolved.
Show resolved Hide resolved
+ [ ] Start working on task (_start timer for item_)
see: https://github.com/nelsonic/time-mvp-phoenix#create-schemas
+ [ ] Check a task off as done.

After the MVP workflow is complete,
we will hold a sprint demo to showcase the state of the App.
The sprint demo will be recorded on our Zoom call.
Following the sprint demo call
we will do a backlog grooming session to discuss the features/ideas list:

#### Offline Support

+ [ ] Create Progressive Web App using Elm.
see:
nelsonic marked this conversation as resolved.
Show resolved Hide resolved
+ [ ] Save data on device if offline.

#### Image Capture

+ [ ] Capture (_upload_) images from mobile.
+ [ ] Categorise (_tag_) the images for findability.

#### Authentication

+ [ ] Create accounts to allow people to own their content/items.
+ [ ] Authenticate with GitHub OAuth
+ [ ] Associate person record with GitHub username + token.
+ [ ] Associate **`items`** with **`person`**



<!--
## Brain Dump of Features

The following list needs to be _organised_:

+ [ ] Security First - ensuring the security of both the people
using the Application(s) and the (_personal_) Data in the system
is a ["hygiene factor"](https://en.wikipedia.org/wiki/Two-factor_theory)
Expand All @@ -145,9 +336,9 @@ and needs to be addressed _first_ on any checklist.

+ [ ] **Offline _First_** - the network might
feel reliable in major Cities, but go outside
in the "wild" it's _consistenly unreliable_;
in the "wild" it's _consistently unreliable_;
everything we build needs to work offline first
and be _frual_ with bandwidth.
and be _frugal_ with bandwidth.

+ [ ] Mobile First - hopefully this is fairly obvious by now.
+ [ ] Progressive Web App
Expand Down Expand Up @@ -183,10 +374,46 @@ and be _frual_ with bandwidth.
+ [ ] End Task

+ [ ] Get "Sign-off" (_Confirmation_) / Feedback on Completed Task

-->

## 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!_)


<hr />


### Why Do So _Few_ Companies Make Their "Road Map" Public?


_**Most companies**/organisations are
**deliberately** "**guarded**" with
their Product Roadmap for a **number** of **reasons**
that all boil down to_
["***FUD***"](https://en.wikipedia.org/wiki/Fear,_uncertainty_and_doubt):

+ _**Fear** that a "**competitor**" will "**steal**" their **ideas**_
(_and get to "**market**" **faster**
thus "capturing" the "**users**" and market share_)

> _**Note**: In **some cases** this **fear**
is **justified** e.g: where an innovation
is easy to replicate and difficult to differentiate.<br />
However we **hypothesize** that
being **open** and **transparent**
with our roadmap will foster
a more **collaborative culture**_.

+ _**Fear** that members of their **own team** will leave
and "**steal**" their **secrets**; <br />
this does
[happen](http://mashable.com/2017/05/20/uber-vs-google-waymo-self-driving-car-wars-get-nasty)
but only because the knowledge is **not** shared openly_.

+ _**Uncertainty** about the **future** of their **product/industry**._ <br />
_Committing to a long-range map implies a fixed/inflexible destination._

+ _**Doubt** in their **own ability** to **deliver** the plan_.
Loading