I've tried and failed to write a proper introduction to this thing a hundred times. In english and spanish.
It may be because it is still kind of half baked, but I can't keep it any more.
So I'll start to share notes here in an unlisted thread and, hopefully, it will get more clear as it goes.
Please feel free to tell me if it bothers in any way.
In a nutshell:
- Every program is a literate program
- The main interface is a visual editor
- Ergonomics and discoverability over mnemonics
- Empowering instead of powerfull
- Only does what you teach and ask to do
- Only shows what you explicity ask to see
- Off-line first
- No bit moves over the network unless you ask
- Everything is persistent unless you explicitly compost it
- Using and programming, consumming and producing are integrated in the same flow
- Extending the UI is as simple as text editing and part of the daily use of the system
- As few abstractions/metaphores as possible consistent through the whole sistem
- As few features as possible
- Infinitely extensible
- Everything was deconstructed and renamed to create a new metaphoric landscape to allow us to tell happier stories
- Almost everything operates on selections and selections are lists of strings
- Themeable, of course :)
My only retrocomputing nostalgia is about a DOS based restaurant system that ran on a 286. It was slow but after a few days of work my fingers knew the whole choreography for common tasks so I was able to perform it and leave confident of the result.
I think this can free some brain for other tasks without compromising speed.
- If a continuous string of characters is selected with the character keys a single node list containing a string is created.
- If a rect is selected with the same keys (like in a collumn of numbers or a row of tab separated values) a list containing an item per column/row is created.
- and so on
This combined with filter, map and reduce creates a simple toolset that empowers the user to create their own solutions.
Recollect is a word you can call everywhere over a list so it's possible, for example, to apply a reduction over a selection of numbers and recollect the result to the seed bag to plant it later.
Other use case could be to have a word that aplies citation formating to a selection and recollects it, so you can browse around creating citations for different sources and recollecting them and then create a new document and plant each one in a new context.
Well... more or less that's the core idea. Just a few abstractions you can combine to build custom applications out of text in any moment without preambles.
As allways, the interesting part is what every user does with it.
Combined with the powerfull retroforth interaction with the OS it's preety straight fordward to navigate and share interactive plain-text apps, show system info on request in an overlay or whatever.
Would love to hear/read your impressions, critics, etc about it.
- Consolidate the concept and write it down in english and spanish in pachapunk.space.
- Iterate over it aplying the forth metodology as many times as needed.
- Share and enjoy the result.
- Hopefully the process will give me the courage to deal with piece tables, how to serialize them between sessions and the undo/redo implementation.
@neauoire yes it's the idea. Just needed too hard to spit it and stop starting new descriptions over and over.
Revel in the marvels of the universe. We are a collective of forward-thinking individuals who strive to better ourselves and our surroundings through constant creation. We express ourselves through music, art, games, and writing. We also put great value in play. A warm welcome to any like-minded people who feel these ideals resonate with them.