Hi all I'm working on DataPipes a flow-based edito...
# thinking-together
d
Hi all I'm working on DataPipes a flow-based editor for macOS. That is kind of my tribute to QuartzComposer that introduced me to the idea of flow-based programming. I always wanted to use this approach to something else than graphics - and here it is. The main idea is to use flow-based approach to dealing with data without touching code and as a result make it easier to use real(istic) data in the design process. Here is the short screencast of the current alpha version, any feedback highly appreciated! PS: If you think the app is worth your attention please join early access list at https://DataPipes.app

https://www.youtube.com/watch?v=0t7pv2FbDxk

👍 6
c
Nice! The 'ElectronFree' comment at the end made me curious? Are you striving to be pure JS?
And why is that a good thing 🙂 ?
d
🙂 well far, far from it. I'm tired of those almost working UIs built on top of web stack and advertised as apps. Hence I've decided to go full native.
❤️ 3
c
I have no skin in the game regarding this argument, I was just curious. By full native you mean? i.e. what is the UI/language tech?
d
Sure thing. Nothing fancy I guess, just swift + objective c using AppKit (aka Cocoa).
r
Looks good! I'd love to hear any more thoughts on use cases you think DataPipes is a particularly good fit for, and if there are any other exiting visual programming environments besides Quartz Composer that you think it would be interesting to compare it to?
Also there was an interesting thread on Hacker News about visual programming yesterday in case you missed it https://news.ycombinator.com/item?id=23252448
d
AFAIK flow-based UI (or something akin to) is used by a couple of ETL tools (parabola.io for example). My goal however is to be closer to a designer, tinkerer needs - so not scalability but flexibility rather. DataPipes should allow its users to quickly build something useful for prototyping needs. Easy to tweak, refactor, and change without coding. I'm just starting so we will see how it ends. Re HN - tnx, I have not seen that discussion.
👍 1
j
This is dope! I used QC heavily for design, and worked on origami.design My main feedback is in two parts: - how are you imagining implementing repeating lists with randomization within? R u thinking the Iterator route from QC or Spreads from Vvvv? - big reason QC was so great was live refresh, would love to see this work without clicking that button at the top and refreshing in the browser (maybe quick hack to use python httpwatcher to reserve)
3rd feedback is sharing to other folks is important and I can imagine a local json server not being super helpful when sharing a live proto with someone else, what r ur thoughts for tackling that? It was def a big blocker for adoption of origami studio/QC files not to be able to share freely and view on the web
d
Tnx Julius, you raised IMHO some of the most important issues I was dealing with :) 1. Re: lists - as of now there two ways already builtin - either the generator node has 'Repeat' port that takes the number of generations to make, or you can use sequences, something closer to iterator pattern than strictly imperative loop with its body 2. Live refresh - that's absolutely a priority for me too, so the current connect-run-repat chore will be gone forever 3. Sharing - from the very beginning I was thinking about the flow runtime engine to be ready to work on the server as well. So it easy to imagine the third icon in the toolbar saying "Deploy to Cloud" (with all consequences on data privacy etc).
❤️ 1
r
A few UI suggestions: 1. Think about accessibility. You should be able to do everything with just the keyboard. To help people learn the keyboard shortcuts, each menu item should list its equivalent keyboard shortcut. 2. There should be a way to connect wires without dragging since dragging is slow and a bit awkward. 3. While connecting a wire, the valid ports should be highlighted to help the user identify which is the correct port to connect.