Sticky - A lightweight todo / sticky-note concept

Hello all, this is a concept you can try out based on the conversation in another thread here

Essentially I implemented some of the ideas from that thread, and picked a name “sticky” borrowing from how I also use paper sticky notes (todos smaller than full tasks - things that just take a minute). The uniqueness of this concept is that the sticky prompt and record of completion are all stored within the tiddler text area - no external tiddlers or even fields used!

The attached file can be drag and dropped into TiddlyWiki.com and that’s what I do in the walkthrough video. Feel free to give it a try if this sounds interesting to you.

sticky.json (5.3 KB)

Here I recorded a brief walkthrough of the file, how to install it, use it, etc.

Thanks to those who engaged in generating ideas with me there: @EricShulman and @CodaCoder who solved most of the code, @Birthe, @TW_Tones, and @Mohammad who provided good ideas, and I should note that I grabbed an icon from here.

10 Likes

@stobot

Nice video and presentation that introduces the ideas well, would also work for newer user and yet and is fairly thorough.

I think there is a compelling use for this in tiddler to do management.

Some history
There was an older solution that replaced [_] with [X] in the text, just showing a check box, but with the search and replace and the possibilities inside a macro this is a nice implementation.

Some quick thoughts for improvements

  • I like the way the non unique “items are considered one” is a feature,
    • Would there be a way to display or indicate the “non-unique” stickies belong together?
  • The ability to provide a filter (additional or subfilter) to sticky tables and Sticky sidebar would be nice, then one could make tables and sidebars limited only to a subset of tiddlers, say all of them taken at the same conferences. I have not yet looked inside the macros but will help if asked.

Logical abstraction

  • The Algorithm within your solution, to replace one macro where imbedded in a tiddler with another macro would be a nice thing to abstract and make available as a separate tool.
    • Again I have not looked at the code yet to see how easy this would be.
    • Could you please consider doing this, while the current project is fresh in your mind?
    • Perhaps variation could do the same for transclusions as well?

Love you work
Tony

Post Script.

With @pmario “custom markup” project, we will be able to easily replace your sticky macros in the text with custom markup eg 『 call mario 』which would translate to <<todo "call Mario">> as would the line based one
´ call mario

but the replacement step would need to act on 『 call mario 』or ´ call mario

Boris’ thoughts are that this is great, especially with the video overview! :video_camera:

1 Like

@stobot
Nicely presented and may I add you have a good voice for a video like this.
I could not make the shortcut work and had to change it. No surprise there. It is getting quite difficult to find any, that are not in use yet.

It was interesting to see how you use it in your work.
Only very minor thing. Sticky - everything can be sticky. sticky todo or some variant.
The shortcut description -Apply an inline sticky macro, true enough, but I think the text - Apply an inline sticky macro to selection would be more descriptive of the way it works.

Well done, this is for all sorts of users.

1 Like

Wonderful! lovely code!

Just minor comments:

look at the below image
image

  1. while I think it is good to bring the whole line, but if the sticky is in middle of paragraph it may be confusing to bring a whole like. If todos are meaningful by them just bring the todo e.g.
  • ask Boris his thoughts
  • meeting with Jeremy
  1. For the sidebar, as you explained in video you can delete $:/stobot/sticky/sidebar but also you can toggle the $:/tags/SideBar if for any reason you decide to use sticky summary on sidebar later

@stobot - we are waiting for more nice video like this and more contributions! :wink:
You have very good pedagogical skills! :sweat_smile:

2 Likes

That’s a nifty little add-on, @slobot; just what is needed to provider essential task-management utility, with negligible overhead. Nicely done, mate! /walt

Yes, I was thinking about that custom markup stuff too, Tony. Would wrap this up nicely…

What’s the status of that project?

What’s the status of that project?

Let us ask @pmario but I expect he has a lot on his plate with discourse, 5.2.0 and another project we share ‘‘Serial Editing’’ and the rest of his life. :grinning:

It’s still beta. … and there is 1 thing, with which I’m not 100% happy yet. So there may be a breaking change in one of the next betas.

So as long as you use only a view _params=":::param 1 Text:::param 2 Text" you should be good. … I think, I should improve the parameter parser. If you don’t use it very often the configuration it is a bit painful. Even for me. …

Very nice work @stobot!! I’ve adopted your tool and love it.

After a test run, I tweaked a few things to better serve my needs. You might find some of them worthwhile:

  • Allowing parameters to be passed to the sticky-table macros so that users can add an extra filter to only display the stickies matching a more complex filter search (using the straightforward syntax <<sticky-table "additional filter step(s)">>, for instance <<sticky-table "tag[foo]!tag[bar]").
  • Adding custom classes (tc-sticky-done, tc-sticky-active) to the macros tiddler to allow for easier custom styling (by the way adding display: contents; to the CSS improves an alignment issue I’ve been seeing on long lines, at least on my setup).
  • Trimming any *, **, #, ## characters in sticky-table as per @Mohammad’s comment (though my approach isn’t foolproof as it wouldn’t trim *** for instance).
  • Giving the option to change the ticked and unticked box (the default ticked box didn’t work for me, I put :ballot_box_with_check: instead).

Attached is my modified version $:/stobot/sticky/macros: $__stobot_sticky_macros.tid (2.4 KB)

Thanks again :slight_smile:

1 Like

Thanks @SonephetR2 - I should’ve posted back here that I’ve been working on incorporating everything and am putting it in a formal plugin, which should make things much easier for end-users. Of those you’ve listed, they’re all included. I’m a huge fan of “hackability” / customization, so it sounds like we’re on the same page. It’s about 90% done, just doing final packaging, standing up a site to house it, and recording an updated video to go with it. Thanks for your feedback!

2 Likes

Great! Looking forward to the next release.

By the way, I also added a delete button to the sticky-done macro:

> <$button class="tc-btn-invisible tc-tiddlylink tc-sticky-delete" tooltip="Delete this sticky">&nbsp;␡
>   <$vars in="""<<sticky-done "$txt$" "$log$">>""" out="">
>     <$action-setfield text={{{ [all[current]get[text]search-replace:g:<in>,<out>] }}}/>
>   </$vars>
> </$button>

You probably have that too, but I thought I’d share, if only because I found a nice unicode character (␡) that suits the button well :wink:

Best!

1 Like

@stobot that is great news and thanks, I am looking forward to it. A formal plugin to reduce the friction is helpful to the adoption within the community and a great resource.

I also think this solution will help promote the further development of text manipulation solutions which have great potential.

Just reach out of you want testers and further feedback.

Hi @stobot,

is the packaged plugin ready to download somewhere in this thread?
I would love to install the final version!

Hi @stobot,
and another idea:
For organizing teams, it would be great to have the possibility to add who is gonna do it (resp who did it to count the merits afterwards. )

Hi @JanJo - yes, the initial plugin thread is here: Sticky Todo Plugin - Initial Release - Plugins - Talk TW (tiddlywiki.org)

I should’ve posted a link at the end of this thread - thanks for the reminder. I’ll think about adding another optional parameter for “who” for a future release - thanks!

1 Like

Hi, how can I keep my Done tasks on the sidebar, perhaps using strikethrough markers, and placing them in the list below? If hide, it will be difficult to find.

In addition, does the collection view have the ability to sort by number or letter, and so on…

I am very sorry that I am not a programmer. Perhaps these functions can be implemented, but if the plugin settings are not displayed, I do not know what to do.