Tizli Blog: Product
What is delegation?
Assigning responsibilities or resources to another agent, while retaining accountability for the outcomes. An agent, in this case, is someone or something capable of resolving a situation to a known state or providing a necessary resource by request.
What are the best ways to handle delegation?
The first way is using a personal relationship approach to delegating a task or responsibility. This is what most people think of when you say "delegate that task". The second way is to use a technical approach to mitigate risk and track progress until resolved. The third way is no delegation, do it yourself... the hardest way. Each of these has pros and cons.
The personal approach.
This comes into play when the task being delegated has significant consequences. You are trusting this person or agent to affect a good outcome or to return the assignment in a timely manner, hopefully with an explanation. Finding the right agents to trust isn't easy for everyone but some people are good at it. If you're not very good at it you should hire someone to do it for you. Unfortunately as you may realize, it's a chicken <==> egg problem.
The technical approach.
When you don't have a trusted person available or can't find one with the needed skills or resources you can lower your risk by using a contract of some sort, often adding a stake of money or other assets as collateral security. Contracts which started as a handshake and a peer pressure social obligation, have evolved over time into the current form as digital software that tracks assignment, ensures criteria are met for assignment (or attempts to) and tracks resolution of the assigned task.
DIY
yeah, it's just DIY.
Tools of the trade.
Standard contracts are still pretty ubiquitous. Written agreements or digitally signed agreements are used in 90% of cases for consequential delegation. The main contract is a service contract or a retainer, though they are often so short term that we just call them invoices and receipts. An employment contract is probably the next most popular whether it's a W2 or a 1099. These of course are a formal delegation of an entire role in an organization.
Automation
The next kind of delegation that has become fairly common is automation via software. This is when a contract is signed for service by a machine of some kind, typically with some service level agreement in place that is backed by a support agreement, in the case the service does not meet expectations. Many of these new contracts have no upfront stake but include a term of service where the provider off-takes some product they value; content they use to attract more users or attention they sell to companies looking for that attention via advertising. There are also some new methods such as blockchain programmable "smart" contracts e.g. Ethereum, Cardano, Solana, etc but these are as yet unproven, unfamiliar or simply unavailable to most people. Other new tools such as AI assistants are on the horizon but not yet ready for general use.
Delegation as a service
I know these don't sound like what we think of as delegation but they are exactly that. What is required for such delegation is a unique identifier to represent the assigner, one to represent the assignee, an agreement as to the terms of resolution and a token to represent the status of the agreement, as defined in the agreement, a master service agreement such as a terms of service agreement. Often the service being delegated is something like "publish and maintain meta data about content I create on your platform" though of course it can also be "provide me access to your software features for a monthly fee" or even "give me searchable access to your vast catalog of music".
Wrap up
If you can delegate without the technical mitigation of contracts and tooling, you are either incredibly lucky or incredibly wealthy. This is where family and friendship along with a great reputation and attitude can come into play, adding to your luck or wealth. On the other hand, knowing how to use contracts and tools to mitigate risk can improve your outcomes even if you have a trusted delegate who handles these kinds of things for you. You know your needs and preferences better than anyone else so having a hand in many tasks will be more fulfilling than completely delegating them.
So delegation covers a very large domain of activities, personal and professional, mass market and individually provisioned. There are a lot of tools available to help with this process but many are very niche or the overhead is too high. They also don't integrate into our daily lives and often require learning a new process. We are always looking for new ways to delegate though, so it's certain we will continue to get new tools in this area of life. Hopefully some of these new tools, like smart contracts and AI assistants, will be closer to a one-size-fits-all solution rather than forcing us to manage yet another tool.
Hope springs eternal.
Recurring events and task management
When you add an event to a calendar and customize its schedule to be repeating, you’ve created an RRule or recurrence rule. I know it’s called this because 99/100 scheduling apps use the iCal RRule format specified in IETF RFC 5545.
GPT tells me
GPT tells me the RRule format follows a specific syntax to define the recurrence pattern of events. It typically consists of several components, including:
- FREQ (Frequency): This component specifies the frequency of the recurring event, such as daily, weekly, monthly, or yearly.
- INTERVAL: Specifies the interval at which the event repeats. For example, if set to 2, the event occurs every two weeks.
- COUNT: Specifies the total number of occurrences of the recurring event.
- UNTIL: Specifies the end date or time for the recurring event. It indicates when the recurrence pattern should stop.
- BYDAY: Used to specify the days of the week for weekly recurring events. For example, “BYDAY=MO,WE,FR” means the event occurs on Mondays, Wednesdays, and Fridays.
- BYMONTHDAY: Used to specify specific days of the month for monthly recurring events.
- BYMONTH: Used to specify specific months for yearly recurring events.
- BYSETPOS: Used in combination with other components to specify the nth occurrence within the recurrence pattern. For example, “BYDAY=2MO” means the second Monday of the month.
The RRule format
The RRule format allows for complex and flexible recurrence patterns. Often we don’t think about this for mundane tasks or we just add a reminder for it in our calendar and add the rule there because it’s easier to think about visually. Even then we’re not adding any intention to our routines. There’s no opportunities included for reflecting on them. It’s just the same basic skills we learned as kids, teens or possibly adults for things like personal finance routines.
For instance
For instance, laundry and clothing care. Unless you’re a fashion aficionado or an obsessive professional, you probably haven’t spent that much time thinking about your laundry routines. I know we all run across some TikTok videos about folding clothes or how to get a stain out. We don’t know what we don’t know but leaving this stuff to chance isn’t the best plan.
There are books and articles and videos about anything you can think of. Books are often organized but they’re hard to consume. Articles are hit or miss and require bookmarking or something. Videos, same as articles TBH plus it’s harder to scan them for quality. You can try ratings or comments for filtering out the worst content.
The challenge here is that we don’t want to spend a lot of time on routines. They’re not very exciting, typically, so the idea of leveling up our skill level at these mundane tasks never makes our priority list. If we do think about it, we run into a learning curve that might not be as shallow as we have time for.
Skill Trees
Today I write about skill trees.
Most people who’ve heard a term like this, skill tree, tech tree, evolutionary tree think of it as a technical term or gamer stuff or maybe academic culture. They would be correct about all three.
These are all examples of data organized as trees in an evolutionary way, where choices made at one level impact the progression at subsequent levels. This kind of organization is reflective of a learning context. People involved with evolutionary trees are learning things all the time to advance their knowledge and understanding of various subjects.
I've been thinking
I’ve been thinking about how best to apply this to my own life and for my family to foster that learning context. Khan Academy is a great skill tree based educational site for math and stem subjects. Courseware and Udemy have something that’s at least superficially like a skill tree. Courses are often grouped and tagged at difficulty levels so you can create a curriculum based on level progression through skills or knowledge.
What I don’t like is the management aspect of skill trees. I never liked it in games and I don’t like it in life. Some people love this stuff. They make spreadsheets for everything or log it all in Notes or Notion or similar apps. I’m currently using a mix of a note taking app and a task management app. Calendar events stay there because reminders and conflicts and repeating events.
It's a lot
It’s a lot to manage if you want to track your progress or just keep working through a skill one lesson or activity at a time. If you’re not busy it’s not too bad, just use one app or site per day and use their built in tools. If you are busy there are tools out there to help but I’m not aware of anything really addressing this way of thinking.
So skill trees are good but hard to manage with all of life’s ups and downs. The worst is that when you need it the most you’re the least likely to be using it. The second worst is that you need the info in your sheet or app or whatever before it’s useful. It’s often not useful info when you first enter it. It only becomes useful as you get busy with other pressing matters. When you can see easy wins and ways to use small windows of time productively, you’re more likely to make the effort. When just finding out if you have time to do anything takes up your time and focus…
That’s enough about skill trees.
Date grouped list items
Here's what we've been up to: we thought it'd be a good idea to sort tasks by date. So, we've set up categories like Future, Next Month, Next Week, Tomorrow, Today, Yesterday, Last Week, Last Month, and Past. This way, it's easier for users to handle their tasks and it doesn't get too detailed. To keep things clear, each group has a sticky header that hangs out at the top of the list as you scroll, until the next group comes along.
Now, pairing up these date groupings with sticky headers wasn't exactly a walk in the park, given that we're using a virtual list. But we decided to make peace with some inefficiencies when a date group has a whole bunch of items, rather than overhauling the virtual list control.
One key move was placing the sticky headers inside a specific element. This reduced the workload for the browser and eliminated any lag, especially on mobile devices. With the header inside a relative container, it moves smoothly up to its sticky position, then scrolls up and off the screen with its related items, and we don't even have to mess with scroll events.
We've also added a placeholder for the 'Today' group. It's always there, even if there are no tasks. We thought it would be good to let users know when they don't have any tasks for today, but without messing with the overall look of the groups.
And just a heads up: we're about to add an 'Add task' button on the headings. Click it, and you can add a task with the date preset to the closest date in that range. Also, if you click on a heading, it and its tasks jump to the top of the list, no matter where they were before.