TeamGarden

DigitalGarden for TeamWork (Graph-Driven SoftwareForge)

Meta (triggered by wanking-smell below):

  • what problem am I trying to solve? For whom?
  • those prev bullets are too vague to convince someone, try again
    • building/running a business is a Complex/Wicked problem
    • every discussion can go into infinite detail, every "project" grows an infinite tree/web of tasks
    • turning discussions into actionable tasks (within milestones) grounds them, creates convergence
    • connecting detailed discussions and milestones to higher-level vision/strategy "notes" helps everyone stay aligned
  • what's the adoption-growth model?
    • would I use this myself?
      • my main complexity needs are for dayjob - My CollaborationWare History
      • I could use this to organize my own work
      • I could slide it into use when there's a messy discussion/decision to work on (but what SSO would i use?) (it's been an effort to get people to recognize that Slack-flat-thread doesn't work well).
  • then offer as hosted-SaaS plus open-source it?
    • this would probably stick with the "formal group controls a space"
    • would it be possible to build a cross-space view for a single user? (that's when it slides into TaskCloud model)

Some specific user scenarios

  • I dream up a project, I define a "space" for it
  • I write some docs in that space
    • some have parent nodes, others are children just of the "space" (at least to start)
    • any doc created by clicking the empty/new-page-frontlink of an existing page gets that page as its parent
  • I create a project deliverable/milestone - it's a child of a doc about it
  • I create a tree/graph of sub-tasks for that milestone
    • when at a task, I can hit "create subtask" to make a child
    • or I can create a raw task; and for any task, at any time, I can say "pick parent"
    • any task node can have any number of front-links and backlinks - are they all parents? No, you can give multiple parents, but not every relation is (automatically) the same.
    • are all parents equal, or is there a primary parent?
  • I do the same for a bunch of projects/notes/tasks
  • I have a to-do-list of open tasks off all levels across all those projects
  • I drag open tasks into priority order
    • there's a "move to top" or "make priority" button that bumps a task up after which I can drag it into order
    • that's my personal ranking, each follower has their own ranking value for a task
  • a given single-task view shows its task hierarchy "parentage"
    • if multiple parents, each path-up gets its own row
      • hmm but if each node up-stream has 2 parents, that tree grows crazy... which might be a strong argument for a primary parent
  • all these private projects are probably in a single name-space
  • then I decide I want to get other folks involved in 1 of them....
    • so I make a new space
    • and I move the "top" of that project to the new space...
    • all the children are now inherently moved to that space
    • which means you need to be a little more thoughtful about picking the node to spin off a new node from, since that becomes its parent
    • I can make that space read-public, write-invite
    • then I define a group for that space - I'm automatically a member, and the administrator
      • administrators are the only ones who can invite new members, or change any node rights
      • a group can have multiple administrators
      • maybe a smaller group of super-admins who have ultimate control (root space/group) (could think of this as just 1 but with redundance/backup)
  • I add people to the group page, and send invites (email? DM?).
    • when someone accepts, they set their WikiName/PetName
      • can I save my own PetName for someone? I suppose that could be auto-translated when I save a node.... but that raises weird uniqueness games...? That way lies craziness, so nope. In return, ask people to have "meaningful" PetNames for themselves?
      • a PetName is ascii/alphanumeric - no spaces or punctuation, so can be uses as handle/address @
    • as admin I can set each person to read-or-write-or-admin
  • SecondMember joins project/space
    • when you follow a node, you automatically follows its children. But for every node, you see a Follow checkbox, and you can turn it off for any node at any time. (You can always change your mind later.)
  • I assign a task to SecondMember... he she accepts
  • She adds a subtask to that task - because I'm following the original task I'm automatically following the subtask
    • the subtask gets the same ranking as its parent (or maybe you add .0000001 to parent value?)
  • She can add a private subtask - I won't see it
  • multiple people can have roles on a task: owner/assigner, assignee, follower (any role for a task can have multiple people)
    • hmm is there any value to distinguishing those roles, or do you just tag everyone? Probably worth distinguishing: this should be on my to-do-list, this is on my to-review list, vs I'm just keeping an eye on....
  • a task has a single Status at a time: InPrep, ReadyForWork, InProcess, InReview, Completed, Abandoned. (multiple sets of status are possible, controlled at the Space level?)
  • a task can have a flag: isReviewable? hasDeliverable? To distinguish "meatier" tasks for hidden/process tasks, esp as you "look up the hierarchy"?
  • I add a Progress Note to a task
    • can @-mention anyone in the body, and they get alerted-and-follow
  • I add a series of Progress Notes to a task
  • I can add a Progress Note that's a fork off a specific Progress Note that's not the just-past note - e.g. it's a graph
    • does this make Editing unnecessary? Or at least much less necessary/frequent?
  • is a question about a task a subtask, where answering/settling it makes it Complete?
    • what does this imply about other notes?
      • yes, any question becomes a task item
    • smells like need to be able to convert a note to a task
      • and vice versa?

Some possible design inspiration

(2023-10-08) Start Noodling on TeamGarden

Oct'2025 trying some vibe prototyping of the UX using Replit.

(2025-12-10) ClaudeCode for TeamGarden


Edited:    |       |    Search Twitter for discussion