Weighted Checkboxes

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

Weighted Checkboxes

Noel Henson
Everyone,

I have always had a problem with checkboxes, especially those with
percentages. As I use them to keep track of software/hardware projects and
to communicate those with clients. The problem is that of weighting or the
level of difficulty of each item.

If you look at the following outline, it shows how many items are
completed. But gives no real indication how much real work has been done or
is needed. For example, the Graphics for and LCD driver would normally be
much more work than the text.

ProjectX
[_] 79% Software
    [_] 83% Drivers
        [X] 100% Disk
        [_] 50% LCD
            [X] 100% Text
            [_] 0% Graphics
        [X] 100% Printer
    [_] 75% Application
        [X] 100% UI
            [X] 100% Main Screen
            [X] 100% Setup Screen
        [_] 50% Logic
            [X] 100% Database Access
            [X] 100% Report Generation
            [_] 0% Load Data
            [_] 0% Save Data

So I added an extended % syntax to include weighting. For example, the LCD
Graphics drivers are, say, 3 times more difficult than the Text drivers.  
By adding the number '3' after the %, checkboxes will now give that task 3x
the weight of the other tasks. Like this:

ProjectX
[_] 83% Software
    [_] 91% Drivers
        [X] 100% Disk
        [_] 75% LCD
            [X] 100%3 Text
            [_] 0% Graphics
        [X] 100% Printer
    [_] 75% Application
        [X] 100% UI
            [X] 100% Main Screen
            [X] 100% Setup Screen
        [_] 50% Logic
            [X] 100% Database Access
            [X] 100% Report Generation
            [_] 0% Load Data
            [_] 0% Save Data

The default weight of a task is 1.

This may or may not be of use to anyone, but here it is to play with.

Have fun!

Noel

--

------------------------------------------------------------------
  Noel Henson
  www.noels-lab.com Chips, firmware and embedded systems
  www.vimoutliner.org Work fast. Think well.


_______________________________________________
VimOutliner mailing list
[hidden email]
http://www.lists.vimoutliner.org/mailman/listinfo/vimoutliner

vo_checkbox.vim (13K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Weighted Checkboxes

Noel Henson
Oops. The '3' should go after the 0% on Graphics, not Text. But I'm sure
all you smart VO users get the idea!

Noel

On Tuesday 16 September 2008, Noel Henson wrote:

> Everyone,
>
> I have always had a problem with checkboxes, especially those with
> percentages. As I use them to keep track of software/hardware projects
> and to communicate those with clients. The problem is that of weighting
> or the level of difficulty of each item.
>
> If you look at the following outline, it shows how many items are
> completed. But gives no real indication how much real work has been done
> or is needed. For example, the Graphics for and LCD driver would
> normally be much more work than the text.
>
> ProjectX
> [_] 79% Software
>     [_] 83% Drivers
>         [X] 100% Disk
>         [_] 50% LCD
>             [X] 100% Text
>             [_] 0% Graphics
>         [X] 100% Printer
>     [_] 75% Application
>         [X] 100% UI
>             [X] 100% Main Screen
>             [X] 100% Setup Screen
>         [_] 50% Logic
>             [X] 100% Database Access
>             [X] 100% Report Generation
>             [_] 0% Load Data
>             [_] 0% Save Data
>
> So I added an extended % syntax to include weighting. For example, the
> LCD Graphics drivers are, say, 3 times more difficult than the Text
> drivers. By adding the number '3' after the %, checkboxes will now give
> that task 3x the weight of the other tasks. Like this:
>
> ProjectX
> [_] 83% Software
>     [_] 91% Drivers
>         [X] 100% Disk
>         [_] 75% LCD
>             [X] 100%3 Text
>             [_] 0% Graphics
>         [X] 100% Printer
>     [_] 75% Application
>         [X] 100% UI
>             [X] 100% Main Screen
>             [X] 100% Setup Screen
>         [_] 50% Logic
>             [X] 100% Database Access
>             [X] 100% Report Generation
>             [_] 0% Load Data
>             [_] 0% Save Data
>
> The default weight of a task is 1.
>
> This may or may not be of use to anyone, but here it is to play with.
>
> Have fun!
>
> Noel



--

------------------------------------------------------------------
  Noel Henson
  www.noels-lab.com Chips, firmware and embedded systems
  www.vimoutliner.org Work fast. Think well.

_______________________________________________
VimOutliner mailing list
[hidden email]
http://www.lists.vimoutliner.org/mailman/listinfo/vimoutliner
Reply | Threaded
Open this post in threaded view
|

Re: Weighted Checkboxes

Peter Princz
In reply to this post by Noel Henson
Hello Noel,

2008/9/16 Noel Henson <[hidden email]>:

> Everyone,
>
> I have always had a problem with checkboxes, especially those with
> percentages. As I use them to keep track of software/hardware projects and
> to communicate those with clients. The problem is that of weighting or the
> level of difficulty of each item.
>
> If you look at the following outline, it shows how many items are
> completed. But gives no real indication how much real work has been done or
> is needed. For example, the Graphics for and LCD driver would normally be
> much more work than the text.
>
> ...
>
> So I added an extended % syntax to include weighting. For example, the LCD
> Graphics drivers are, say, 3 times more difficult than the Text drivers.
> By adding the number '3' after the %, checkboxes will now give that task 3x
> the weight of the other tasks. Like this:
>
> ProjectX
> [_] 83% Software
>    [_] 91% Drivers
>        [X] 100% Disk
>        [_] 75% LCD
>            [X] 100%3 Text
>            [_] 0% Graphics
>        [X] 100% Printer
>    [_] 75% Application
>        [X] 100% UI
>            [X] 100% Main Screen
>            [X] 100% Setup Screen
>        [_] 50% Logic
>            [X] 100% Database Access
>            [X] 100% Report Generation
>            [_] 0% Load Data
>            [_] 0% Save Data
>
> The default weight of a task is 1.
>
> This may or may not be of use to anyone, but here it is to play with.
>
> Have fun!
>
> Noel
>
> --
>

a brilliant idea again!
This is again a great leap in vo to become a project mgmt software.
Let me put it in context.
When I started with vo a few years ago, it could keep track of
tree-structured task lists with at least 4 restrictions, compared to a
powerful project mgmt software, i.e. MS-Project:
1. Completeness of a bottom-level task is either 0% or 100%, nothing in between.
2. No concept of 'effort'.
3. All tasks have to be done by myself, no concept of delegating,
resources, etc.
4. No concept of time, i.e. deadlines, lag, etc.

No problem with these restrictions at all, it's just a distinction
between vimoutliner and MS-Project. Makes sense and gives power to vo.
I actually draft my projects in vo down to wbs, and the migrate my
project into openproj or ms-project and "decorate" my wbs with
resources, deadlines an effort there.

Now, you got rid of restriction #1 two weeks ago with the smart
leaves, and now you got rid of restriction #2 with the concept of
'weight', which is really 'effort' in arbitrary units, e.g. days or
hours. Congratulations! This is really powerful! More and more content
of a real project can be jotted in vimoutliner already before
migrating into a project software!

Regarding #3 it can be addressed with the concept of 'context' in GTD,
i.e. as we can have @home, @net and @errand in our vimoutliner files,
we can introduce the notion of @Resource1, @Resource2 to delegate
tasks to owners.

For me, #4 is the most tricky. If time could be represented in a smart
and efficient way in a text file...

Have a nice day,
  Peter
_______________________________________________
VimOutliner mailing list
[hidden email]
http://www.lists.vimoutliner.org/mailman/listinfo/vimoutliner
Reply | Threaded
Open this post in threaded view
|

Re: Weighted Checkboxes

Noel Henson
On Wednesday 17 September 2008, Peter Princz wrote:

> Hello Noel,
>
> 2008/9/16 Noel Henson <[hidden email]>:
> > Everyone,
> >
> > I have always had a problem with checkboxes, especially those with
> > percentages. As I use them to keep track of software/hardware projects
> > and to communicate those with clients. The problem is that of
> > weighting or the level of difficulty of each item.
> >
> > If you look at the following outline, it shows how many items are
> > completed. But gives no real indication how much real work has been
> > done or is needed. For example, the Graphics for and LCD driver would
> > normally be much more work than the text.
> >
> > ...
> >
> > So I added an extended % syntax to include weighting. For example, the
> > LCD Graphics drivers are, say, 3 times more difficult than the Text
> > drivers. By adding the number '3' after the %, checkboxes will now
> > give that task 3x the weight of the other tasks. Like this:
> >
> > ProjectX
> > [_] 83% Software
> >    [_] 91% Drivers
> >        [X] 100% Disk
> >        [_] 75% LCD
> >            [X] 100%3 Text
> >            [_] 0% Graphics
> >        [X] 100% Printer
> >    [_] 75% Application
> >        [X] 100% UI
> >            [X] 100% Main Screen
> >            [X] 100% Setup Screen
> >        [_] 50% Logic
> >            [X] 100% Database Access
> >            [X] 100% Report Generation
> >            [_] 0% Load Data
> >            [_] 0% Save Data
> >
> > The default weight of a task is 1.
> >
> > This may or may not be of use to anyone, but here it is to play with.
> >
> > Have fun!
> >
> > Noel
> >
> > --
>
> a brilliant idea again!
> This is again a great leap in vo to become a project mgmt software.
> Let me put it in context.
> When I started with vo a few years ago, it could keep track of
> tree-structured task lists with at least 4 restrictions, compared to a
> powerful project mgmt software, i.e. MS-Project:
> 1. Completeness of a bottom-level task is either 0% or 100%, nothing in
> between. 2. No concept of 'effort'.
> 3. All tasks have to be done by myself, no concept of delegating,
> resources, etc.
> 4. No concept of time, i.e. deadlines, lag, etc.
>
> No problem with these restrictions at all, it's just a distinction
> between vimoutliner and MS-Project. Makes sense and gives power to vo.
> I actually draft my projects in vo down to wbs, and the migrate my
> project into openproj or ms-project and "decorate" my wbs with
> resources, deadlines an effort there.
>
> Now, you got rid of restriction #1 two weeks ago with the smart
> leaves, and now you got rid of restriction #2 with the concept of
> 'weight', which is really 'effort' in arbitrary units, e.g. days or
> hours. Congratulations! This is really powerful! More and more content
> of a real project can be jotted in vimoutliner already before
> migrating into a project software!
>
> Regarding #3 it can be addressed with the concept of 'context' in GTD,
> i.e. as we can have @home, @net and @errand in our vimoutliner files,
> we can introduce the notion of @Resource1, @Resource2 to delegate
> tasks to owners.
>
> For me, #4 is the most tricky. If time could be represented in a smart
> and efficient way in a text file...
>
> Have a nice day,
>   Peter
> _______________________________________________
> VimOutliner mailing list
> [hidden email]
> http://www.lists.vimoutliner.org/mailman/listinfo/vimoutliner

Peter,

I'm still not quite satisfied with the syntax. It is a little confusing
when I create summaries for clients or export to FreeMind (which is still
a work in progress). I was thinking that maybe putting the difficulty at
the end of the heading preceded by a ~. Something like:

[_] Do this ~4

What do you think? Do you have any better ideas?

On item #3, I use a different technique that works well with otlreorder or
otlgrep.

Use this test outline:

Test Projects
Projects
        [_] 33% Lister
                [_] 0% Review documentation
                        Jean
                        Dale
                [X] 100% Create test data set
                        Larry
                [_] 0% Test program
                        Spike
        [_] 50% Reporter
                [X] 100% Write initial program
                        Jean
                [_] 0% Write initial documentation
                        Spike
        [X] 100% Reporter1
                [X] 100% Write initial program
                        Larry
                [X] 100% Write initial documentation
                        Jean
Other Stuff
        blah
        blah blah
        blah blah blah

Then do this: otlreorder.py -i jean and you'll get this:

Jean
        Projects
                [_] 33% Lister
                        [_] 0% Review documentation
                [_] 50% Reporter
                        [X] 100% Write initial program
                [X] 100% Reporter1
                        [X] 100% Write initial documentation


Then do this: otlgrep.py -i spike and you'll get this:

Projects
        [_] 33% Lister
                [_] 0% Test program
                        Spike
        [_] 50% Reporter
                [_] 0% Write initial documentation
                        Spike

I hope these help. If you need otlreorder or otlgrep, just ask.

On #4... Hmm.... How would we represent a concept of time? Perhaps with
subheadings labeled like this?

Project
        Task
                Start: 2008-08-15
                Due: 2008-09-16

Difficult question. What do you think?

BTW, I have a really magic surprise for everyone once I get it finished
that will kick off Vim Outliner 0.4. Now that Vim supports floating point
math I can do what I've wanted to for some time..... Outline aware math!  
I was actually in the middle of writing a fixed-point math package in
vimscript before I got news of the new math capabilities of vim. Thank the
gods for the vim developers! I was driving myself crazy.

I've been working on this syntax:

Test Projects
Projects {sum(*)}= 1251.00
        Project 1 {Hours:*Rate:+Materials:}= 625.50
                Hours: 5
                Rate: 100
                Materials: 125.50
        Project 2 {Hours:*Rate:+Materials:}= 625.50
                Hours: 5
                Rate: 100
                Materials: 125.50

Variables are specified as word atoms that end with a : and space. Their
value is the number between the space and the end of the line. Formulae are
placed within {} and have an = later in the line for the result. The reason
for the two separate symbols : and = is because something needs to tell the
math processor to recurse further down into the children to do computations
(if there is an =). A : means the math processor can just take the
displayed value.

The * in the sum(*) means to take all the values it finds in its immediate
children and add them up. I'm still working on the syntactics of it but
it's coming along. (sick, isn't it?)

Thanks for the feedback on the enhancement.

Noel


--

------------------------------------------------------------------
  Noel Henson
  www.noels-lab.com Chips, firmware and embedded systems
  www.vimoutliner.org Work fast. Think well.



_______________________________________________
VimOutliner mailing list
[hidden email]
http://www.lists.vimoutliner.org/mailman/listinfo/vimoutliner
Reply | Threaded
Open this post in threaded view
|

Re: Weighted Checkboxes

Bill Powell
Noel --

Just a quick word that these improvements look awesome!

>
> Then do this: otlreorder.py -i jean and you'll get this:
>
> Jean
> Projects
> [_] 33% Lister
> [_] 0% Review documentation
> [_] 50% Reporter
> [X] 100% Write initial program
> [X] 100% Reporter1
> [X] 100% Write initial documentation
>
>
> Then do this: otlgrep.py -i spike and you'll get this:
>
> Projects
> [_] 33% Lister
> [_] 0% Test program
> Spike
> [_] 50% Reporter
> [_] 0% Write initial documentation
> Spike
>
> I hope these help. If you need otlreorder or otlgrep, just ask.

Will these be included in 0.4? That would be great.

> Test Projects
> Projects {sum(*)}= 1251.00
> Project 1 {Hours:*Rate:+Materials:}= 625.50
> Hours: 5
> Rate: 100
> Materials: 125.50
> Project 2 {Hours:*Rate:+Materials:}= 625.50
> Hours: 5
> Rate: 100
> Materials: 125.50
>

Sweet. This is just the sort of estimate I've wished I could
include in my todo lists for years. Looking forward to it.

Bill Powell


--
_____________________________________________________________

http://pennyjustice.com  : How do you spend your penny?
http://wineskinmedia.com : Books and sites crafted with care.
http://billpowellisalive.com : Man found alive with two legs.  
_____________________________________________________________

_______________________________________________
VimOutliner mailing list
[hidden email]
http://www.lists.vimoutliner.org/mailman/listinfo/vimoutliner
Reply | Threaded
Open this post in threaded view
|

Re: Re: Weighted Checkboxes

Noel Henson
On Wednesday 17 September 2008, Bill Powell wrote:

> Noel --
>
> Just a quick word that these improvements look awesome!
>
> > Then do this: otlreorder.py -i jean and you'll get this:
> >
> > Jean
> > Projects
> > [_] 33% Lister
> > [_] 0% Review documentation
> > [_] 50% Reporter
> > [X] 100% Write initial program
> > [X] 100% Reporter1
> > [X] 100% Write initial documentation
> >
> >
> > Then do this: otlgrep.py -i spike and you'll get this:
> >
> > Projects
> > [_] 33% Lister
> > [_] 0% Test program
> > Spike
> > [_] 50% Reporter
> > [_] 0% Write initial documentation
> > Spike
> >
> > I hope these help. If you need otlreorder or otlgrep, just ask.
>
> Will these be included in 0.4? That would be great.
>
> > Test Projects
> > Projects {sum(*)}= 1251.00
> > Project 1 {Hours:*Rate:+Materials:}= 625.50
> > Hours: 5
> > Rate: 100
> > Materials: 125.50
> > Project 2 {Hours:*Rate:+Materials:}= 625.50
> > Hours: 5
> > Rate: 100
> > Materials: 125.50
>
> Sweet. This is just the sort of estimate I've wished I could
> include in my todo lists for years. Looking forward to it.
>
> Bill Powell

Thanks! I've got this thing that's wrong with my brain; really. I view the
whole world as outlines and mathematical graphs. That's why I want the
math. It will make it easier for me to communicate with others.

Glad you're alive and well!

Have a nice evening!

Noel

--

------------------------------------------------------------------
  Noel Henson
  www.noels-lab.com Chips, firmware and embedded systems
  www.vimoutliner.org Work fast. Think well.




_______________________________________________
VimOutliner mailing list
[hidden email]
http://www.lists.vimoutliner.org/mailman/listinfo/vimoutliner
Reply | Threaded
Open this post in threaded view
|

Re: Re: Weighted Checkboxes

Noel Henson
On Wednesday 17 September 2008, Noel Henson wrote:

> On Wednesday 17 September 2008, Bill Powell wrote:
> > Noel --
> >
> > Just a quick word that these improvements look awesome!
> >
> > > Then do this: otlreorder.py -i jean and you'll get this:
> > >
> > > Jean
> > > Projects
> > > [_] 33% Lister
> > > [_] 0% Review documentation
> > > [_] 50% Reporter
> > > [X] 100% Write initial program
> > > [X] 100% Reporter1
> > > [X] 100% Write initial documentation
> > >
> > >
> > > Then do this: otlgrep.py -i spike and you'll get this:
> > >
> > > Projects
> > > [_] 33% Lister
> > > [_] 0% Test program
> > > Spike
> > > [_] 50% Reporter
> > > [_] 0% Write initial documentation
> > > Spike
> > >
> > > I hope these help. If you need otlreorder or otlgrep, just ask.
> >
> > Will these be included in 0.4? That would be great.
> >
> > > Test Projects
> > > Projects {sum(*)}= 1251.00
> > > Project 1 {Hours:*Rate:+Materials:}= 625.50
> > > Hours: 5
> > > Rate: 100
> > > Materials: 125.50
> > > Project 2 {Hours:*Rate:+Materials:}= 625.50
> > > Hours: 5
> > > Rate: 100
> > > Materials: 125.50
> >
> > Sweet. This is just the sort of estimate I've wished I could
> > include in my todo lists for years. Looking forward to it.
> >
> > Bill Powell
>
> Thanks! I've got this thing that's wrong with my brain; really. I view
> the whole world as outlines and mathematical graphs. That's why I want
> the math. It will make it easier for me to communicate with others.
>
> Glad you're alive and well!
>
> Have a nice evening!
>
> Noel

Oops. Yes, these scripts will be included in Vim Outliner 0.4.

Noel


--

------------------------------------------------------------------
  Noel Henson
  www.noels-lab.com Chips, firmware and embedded systems
  www.vimoutliner.org Work fast. Think well.

_______________________________________________
VimOutliner mailing list
[hidden email]
http://www.lists.vimoutliner.org/mailman/listinfo/vimoutliner
Reply | Threaded
Open this post in threaded view
|

Re: Weighted Checkboxes

Steve Litt
In reply to this post by Noel Henson
On Wednesday 17 September 2008 05:47:51 pm Noel Henson wrote:

> On #4... Hmm.... How would we represent a concept of time? Perhaps with
> subheadings labeled like this?
>
> Project
> Task
> Start: 2008-08-15
> Due: 2008-09-16
>
> Difficult question. What do you think?

I've always done this kind of stuff like

Project
        Task
                _time_start_ 2008-08-15
                _time_due_ 2008-09-16


The reason is it looks less like text a person might just happen to type in
with no intent to affect the functioning of the outline. Principle of least
surprise. There's no doubt that _time_due_ is a keyword.

For presentation to a client, a very simple awk or pythong script could turn
it into whatever the individual wants it to look like.


>
> BTW, I have a really magic surprise for everyone once I get it finished
> that will kick off Vim Outliner 0.4. Now that Vim supports floating point
> math I can do what I've wanted to for some time..... Outline aware math!
> I was actually in the middle of writing a fixed-point math package in
> vimscript before I got news of the new math capabilities of vim. Thank the
> gods for the vim developers! I was driving myself crazy.
>
> I've been working on this syntax:
>
> Test Projects
> Projects {sum(*)}= 1251.00
> Project 1 {Hours:*Rate:+Materials:}= 625.50
> Hours: 5
> Rate: 100
> Materials: 125.50
> Project 2 {Hours:*Rate:+Materials:}= 625.50
> Hours: 5
> Rate: 100
> Materials: 125.50
>
> Variables are specified as word atoms that end with a : and space. Their
> value is the number between the space and the end of the line. Formulae are
> placed within {} and have an = later in the line for the result. The reason
> for the two separate symbols : and = is because something needs to tell the
> math processor to recurse further down into the children to do computations
> (if there is an =). A : means the math processor can just take the
> displayed value.
>
> The * in the sum(*) means to take all the values it finds in its immediate
> children and add them up. I'm still working on the syntactics of it but
> it's coming along. (sick, isn't it?)
>
> Thanks for the feedback on the enhancement.
>
> Noel

SteveT
 
Steve Litt
Recession Relief Package
http://www.recession-relief.US

_______________________________________________
VimOutliner mailing list
[hidden email]
http://www.lists.vimoutliner.org/mailman/listinfo/vimoutliner
Reply | Threaded
Open this post in threaded view
|

Re: Re: Weighted Checkboxes

Steve Litt
In reply to this post by Noel Henson
On Wednesday 17 September 2008 09:48:48 pm Noel Henson wrote:

>
> Thanks! I've got this thing that's wrong with my brain; really. I view the
> whole world as outlines and mathematical graphs. That's why I want the
> math. It will make it easier for me to communicate with others.

Hi Noel,

Can you amplify the preceding thoughts? I think I understand viewing the whole
world as outlines -- a heck of a lot of it can be expressed as hierarchies,
especially if you twist things around a little. Is the purpose of the
mathematical graphs to communicate with others? To make the point
understandable "at a glance?"

Or do you, as your literal words specify, actually form a picture in your mind
when approaching a project, and then work off that map? Do diagrams enable
you to effortlessly and intuitively navigate, much the same as a memorized
map of the city makes city navigation trivial?

How would a person who doesn't see things as mathmatical graphs begin to
operate his mind in that manner? What would the benefits be?

While we're on the subject, are there other thinking modes that can be
helpful?

Thanks

SteveT
 
Steve Litt
Recession Relief Package
http://www.recession-relief.US

_______________________________________________
VimOutliner mailing list
[hidden email]
http://www.lists.vimoutliner.org/mailman/listinfo/vimoutliner