TLP - Proposing a Novel and Deranged To-Do List Protocol

5 minutes read ā€¢

Elevator Pitch

In a world built on innovation, efficiency, and performance, TLPā€”To-Do List Protocol stands outā€¦

For years, to-do list apps have been little more than demos for new front-end frameworks or hyperscaler spyware masquerading as productivity tools. TLP flips the script:

  1. Compatible and Flexible: Adapters are on the roadmap to support several popular to-do apps. MIT license and a rainy day means you can support any to-do app you like.
  2. Secure by Design: By funnelling encrypted packets through your to-do list, youā€™re holding a funhouse mirror up to hyperscaler data collection. If theyā€™re going to harvest our data, letā€™s make them work for it.
  3. Feel Productive Again: TLP doesnā€™t break your tasks. Your app stays functional! Your personal tasks will be ignored and treated as corrupt packets. With hundreds of tasks being added and completed every second, you can check ā€œdopamineā€ off your list.

TLP is a groundbreaking, TCP-inspired messaging protocol that operates through to-do lists. Yes, you read that correctly. Your humble to-do list app has been granted super-powers: unnecessary partial re-implementation of the transport layer at the application layer!

TLP is pure joy (and pure overhead).

Checkout the project here! šŸš€


What Is TLP?

TLP is a satirical, semi-functional messaging protocol inspired by TCP that uses popular to-do list applications as the transport backbone.

Packets are sent as to-do list tasks, ordered by due date and marked as complete when received. Everything is updated in real-time to simulate the mechanics of data packets traversing a network.

Mix in some disruptive hypey buzz tech, some pseudo-encryption, and we have a winner! Think of it as the most inefficient way to communicate securely with your friends while simultaneously overwhelming your to-do app.

How Does It Work?

TLP is TCP inspired. It maps TCP packet fields to stock-standard to-do list task fields.

Tip

Want to learn more about the anatomy of a TCP packet? Check out this GeeksForGeeks article.

TCP Packet FieldTo-Do AttributeDescription
Source PortTask OwnerRepresents the individual or entity initiating the task.
Destination PortAssigned UserIndicates the person responsible for completing the task.
Sequence NumberTask Due DateEncode sequence number in task due date to denote its order in a series
Acknowledgment NumberTask DependenciesLast received task as checked first checklist item, next expected task as unchecked following checklist item.
Data OffsetN/AData offset (or header length) doesnā€™t require re-implementation to retain expected behaviour.
ReservedN/AReserved fields are placeholders without direct relevance to task attributes and can be excluded.
Flag: URGTask Priority (High)Set the taskā€™s priority level to ā€˜Highā€™ to indicate urgency.
Flag: ACKTask Completion StatusMark the task as complete to signify acknowledgment.
Flag: PSHTask Priority (Important)Set the taskā€™s priority level as ā€˜Highā€™ to indicate PSH flag
Flag: RSTTask ReassignmentReassign the task to a different user to indicate a reset in responsibility.
Flag: SYNTask CoordinationAdd a checklist within the task for steps that require synchronization with others.
Flag: FINTask ClosureUpon task completion, archive or remove the task to signify itā€™s finished.
Window SizeTodo ListGroup related tasks into a single list to represent the batch size.
ChecksumTask ReviewInclude a final checklist item for reviewing the task to ensure accuracy before completion.
Urgent PointerTask Priority IndicatorUse the taskā€™s priority setting to indicate urgency.
OptionsTask Notes frontmatterInclude any extra instructions or information in the taskā€™s notes as plaintext frontmatter.
PaddingN/APadding is used for alignment in data structures and doesnā€™t translate to task attributes; it can be omitted.
Data (Payload)Task NotesEncrypted message as payload in task notes.

Multicast??

While multicast is usually out of TCP territory, TLP leans heavily on the Application Layer and implements multicast. If unicast, tasks are assigned to an individual. If multicast, the tasks are unassigned and all who are scoped receive the task. Packet acknowledgement then becomes a race-condition. An exciting little competion in an otherwise very cooperative standard.


Whatā€™s Next for TLP?

In the coming posts, weā€™ll explore more of TLPā€™s tech spec and dream about the necessary components to get it off the ground, including, maybe:

Join the Revolution

To-Do List Protocol is a call to action. Itā€™s a powerful reminder of what an industry shake-up can do. Do you know how diffusion based generative models work? The same way high school art assignments work. They throw something random at the canvas, interpret the results and learn from their mistakes.

Join us! Donā€™t chase the money. stop following the cues. Subvert the status quo.

Joiin us for the next installment of the TLP Blog Series!

Explore TLP on GitHub


Stay productive. Stay creative.