On Wednesday, January 29, 2020 at 2:40:14 PM UTC-8, TonyM wrote:
>
> I love Eric's work here, though if you go back to my recent toc thread I 
> specifically demonstrated calculating the level. In part so you can build 
> your own toc. Eric's work is great but as features are added it gets harder 
> for others to  customise.
>
> The feature rich solutions are valuable like Eric's but the do it yourself 
> code patterns can reduce the need to maintain feature rich solutions.
>
> How often do we need all the features?
>

One of Jeremy's basic guiding principles in creating TiddlyWiki is to make 
customization more accessible for the untrained "non-technical" user.

While "do-it-yourself code patterns" are very important for people who are 
somewhat coding-proficient, there are many people who are not 
programming-oriented and simply wish to have a "feature-rich solution" 
ready-made for them.  In addition, even for the coding-proficient user, 
there is the effect of "feature creep", where the initial custom 
implementation is straightforward, but rapidly increases in complexity as 
the desire for adding "just one more feature" starts to set in.

For example, as you and I have both shown, building a basic recursive TOC 
is relatively simple (once you grasp the initial concepts of recursion in 
TiddlyWiki), but adding such commonly-desired features as 
selective opening/closing of branches, drag-and-drop reordering, and 
currentTiddler highlighting are much harder to achieve for most casual 
TiddlyWiki users and even for some of the more advanced TiddlyWiki 
developers.

Of course, it is always satisfying when people can "follow my trail" to 
achieving their own complex solutions, but that is not something that 
should be required or even expected from most users.

Providing the appropriate balance between complexity and customization is 
often a subtle (and time-consuming) endeavor.  This is where the "art" of 
programming and the experience of many years of developing software meet, 
and fully tested, plug-and-play solutions such as my TOC code come into the 
picture.  I don't expect (nor do I encourage) people to customize the 
internals of my TOC code.  Even so, in anticipation of differing use-cases, 
I have factored some of my code to isolate certain key parts so that they 
can be more readily customized; e.g., TiddlyTools/TOC/Template, which 
controls the rendering of content for each individual TOC entry.

-e

-- 
You received this message because you are subscribed to the Google Groups 
"TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywiki/d865f8d8-e34b-468b-8dfe-d6aee0b24f0f%40googlegroups.com.

Reply via email to