ActivityWatch / activitywatch-old

[DEPRECATED] :watch: Logs your computer activities, a RescueTime replacement.
MIT License
16 stars 2 forks source link

Figure out a good way to build pipelines #12

Open ErikBjare opened 8 years ago

ErikBjare commented 8 years ago

Would probably be best done programmatically.

Would be nice to be able to create groups/chains/nets which have I_n inputs and O_n outputs, much like a neural net. These can then be instantiated as a group to be inserted in many pipelines (chunking + splitting is a common combination).

ErikBjare commented 8 years ago

A list of one-to-one relations should probably be the way to go right now. Has the added benefit of simply being able to list them in the Web GUI.

Not very visual and not as cool as connecting nodes in a proper canvas graph, but gets the job done.

ErikBjare commented 8 years ago

Other projects want something like this as well. Perhaps a graph builder with node type and attributes/parameters exportable/built as JSON. Could work in Homebrain and others as well, so be considerate about external needs and requirements.

Example output graph: (To be changed)

{ 
    1: {name: "wikipedia", type: "watcher" viewpos: [-100, 50], "feeds": {"#Watchlist", "#PageEdit <page>"})
    2: {name: " x11-activity", type: "watcher", viewpos: [-100, -50], " feeds": ["#KeyInput, "#AFKStatus <changed, afk, nonafk>"]}
    3: {name: "desktop-notification*, viewpos: [100, 0],, "subscribes_to": ["#AFKStatus <changed>@x11-activity", "#Watchlist@wikipedia", "#PageEdit ActivityWatch@wikipedia"], ~depends_on: ["wikipedia", "x11-watcher"]}
}

~ denotes relation to other node

denotes a feed/channel

Subscription/Channel notation needs to be improved. Channels might be lazy, do not need to be served when thete are no subscribes.