Proof-of-concept prototype for Userland
This implementation is not under development anymore, as it was a prototype/proof-of-concept/MVP which I've successfully used to do rapid experimentation and evolve and stabilize the fundamentals of the concept.
I am currently working on a new implementation, which I intend to open-source once it is production-ready.
Userland is an integrated dataflow environment for end-users. It allows users to interact with modules that implement functionality for different domains from a single user interface and combine these modules in creative ways.
The UI works as a series of cells. Each cell can be set to a different mode, and each mode implemented as a separate module. There are currently three different modules:
=1+1
, =A1 * (3/2)
)shell
. As the cell switches to shell-mode, it displays its
current directory and allows commands to be entered.~triangle 220
). Pressing Enter when a synth cell is focused will
start/stop the audio wave.Pressing Ctrl-Backspace clears the cell mode back to ?
.
This video demonstrates the integration of "spreadsheet" and "shell" modules inside Userland.
At LIVE 2019 I also gave a live demo combining the "shell", "spreadsheet" and "synth" modules.
First, make sure you have the following installed:
You can install Rust support in LuaRocks with:
$ luarocks install luarocks-build-rust
Install the Lua dependencies for Userland:
$ luarocks --lua-version 5.1 --local make
Finally, run userland
:
$ ./userland