I want to make non backward compatible updates in Catalyst (weblog entry, github repo), but at the same time I do not want to break it for the (two ?) other people currently using it, so I am going to fork it and spawn a new personal tool called 촉매.
촉매 will be *exactly* like Catalyst, but with a slightly simpler user interface (yes that's possible), and a simpler core. 촉매 will, in essence, be only user interface for agents (and no longer managed todo list text files that I will stop using). That being said, I need to keep Catalyst online because people interested in the way I display todolists should probably use Catalyst instead of 촉매.
As a consequence, I won't update Catalyst. It will remain the little island of perfection it currently is.
update: few days later.....
Email sent to M. this afternoon as a follow up to 촉매
When Catalyst (the original one) was born, it came with two features, the ability to interact with agents and also the ability to read todo files. Your todo files are listed in user-area/x-files.txt and your agents are listed in user-area/x-agents.txt
The reason why it came with the native ability to read todo files was because I wanted you to be able to use it "out of the box" (to make it useful to you without you having to write any agent).
The new tool ( the symbol is Korean for Catalyst, but you can call it Catalyst-K ), only talks to agents. This has significantly simplified the code. Moreover it doesn't do with domains anymore (the fact that you could activate and dis-activate some parts of the listing -- for instance dis-activating any home related items while being at work), and it also asks agents to provide the items buttons. The old Catalyst created the [done] button and attached the value of the object key "command" to it, but now agents provide one or more buttons with the associated shell strings.
I needed to move button management from Catalyst to the agents because I wanted to let some items have attachments (real files, like pictures or emails) and they should then be displayed with two buttons: [done] and [show attachment]. More generally it let items have a richer behavior (as many buttons as needed) that the agents are then responsible for (providing and handling). Rather than making it a hack I thought I should implement it correctly but that was breaking the original conventions (the non-backward compatible change leading to 촉매).
촉매 doesn't actually show the attachments, the agents providing this service simply write the files on my desktop. This really allows me to attach an email to an item, and remove the email from my inbox knowing that I will read the email again when the system decides that it is time for me to do the item.
Last but not least, does that mean that 촉매 doesn't deal with todo text files ? Yes it does, but the corresponding items are simply provided by agents (essentially one agent) specialised in reading those files.