News for hackers. Stuff that matters.
Re:Show HN: Early-stage Yahoo Pipes spiritual successor by zeptomu on Monday May 29, 2017 @05:04PM (#14441428)
I've some experience in visual programming languages (both professional and in my studies) and I advise against the graph-form where you connect nodes and edges.

This does not mean that text is the only way to implement programs (and even if you connect nodes, you're still programming), but maybe a good local optimum is in-between, e.g. interactive shells like Jupyter's Notebook and the Mathematica interface. I know there is LabView, the Blender-Editor and AFAIK some Unreal-Engine tool that uses this model, but bigger programs seem really incomprehensible to me.

It's always easy to show-case 5 programs in these node-&-edge editors, but I do not think it is the best approach for visual languages, as one should not under-estimate the layout problems and how to represent information in boxes.

So, I am all for new ideas in visual programming, but I am not sure if the "free canvas" approach works.

Re:Show HN: Early-stage Yahoo Pipes spiritual successor by LoSboccacc on Monday May 29, 2017 @05:40PM (#14441600)
I don't think you remember how the yahoo pipes worked. It was a brilliant mix of graphs for flow control, premade boxes for all common data manipulation and scripting for that extra feature if needed

I miss them a lot and appreciate the effort here, but don't forget the visual model for data manipulation wasn't invented here but was testsd refined and proved functional by previous existing services

Re:Show HN: Early-stage Yahoo Pipes spiritual successor by ryanoshea on Tuesday May 30, 2017 @05:50PM (#14448830)
> It was a brilliant mix of graphs for flow control, premade boxes for all common data manipulation and scripting for that extra feature if needed

I work for a startup that builds a dataflow app platform that fits that description nicely. We support gathering data from databases, files, APIs, etc., full graph-based flow control, strong .NET types on everything, tons of premade boxes for common operations, and support for C#/Python/R/F#/VB for custom data manipulation. Here's a quick example dataflow: http://blog.composableanalytics.com/2016/09/25/querying-data...

Re:Show HN: Early-stage Yahoo Pipes spiritual successor by zeptomu on Monday May 29, 2017 @05:51PM (#14441670)
> I don't think you remember how the yahoo pipes worked.

True, I learned about it when it was already dead, but thought the goal was similar to the stuff Zapier offers and I would really like to try it. Not to automate stuff, but to checkout the visual editor.

Re:Show HN: Early-stage Yahoo Pipes spiritual successor by onli on Monday May 29, 2017 @07:44PM (#14442121)
Some screenshots from old Yahoo pipes that show a bit how that worked: https://imgur.com/a/p6uf0
Re:Show HN: Early-stage Yahoo Pipes spiritual successor by LoSboccacc on Tuesday May 30, 2017 @01:57AM (#14443194)
The pipes goal was to transform data upon a pull, not move data on triggers. The client was likely a reader, while those event system mainly push to api.
Re:Show HN: Early-stage Yahoo Pipes spiritual successor by fiatjaf on Monday May 29, 2017 @07:43PM (#14442118)
Oh, Zapier is a programmer's nightmare.
Re:Show HN: Early-stage Yahoo Pipes spiritual successor by bryanh on Monday May 29, 2017 @09:51PM (#14442584)
Funny you say that -- engineers are one of Zapier's best customer personas. Quicker and easier to implement functionality than deploying code to the cloud. Plus, non-engineers can take over maintenance so engineers can work on more interesting things.

We also have code/scripting steps -- https://zapier.com/help/code/ or https://zapier.com/help/code-python/.

Re:Show HN: Early-stage Yahoo Pipes spiritual successor by gsvclass on Friday June 02, 2017 @09:54AM (#14469870)
I work on Webmatr which is also for building integrations except its with Javascript code. The entire platform runs of API Specs (Swagger, Open API).

I just posted it on Show HN https://news.ycombinator.com/item?id=14469734 or the direct link https://webmatr.com

Re:Show HN: Early-stage Yahoo Pipes spiritual successor by jameskegel on Monday May 29, 2017 @09:18PM (#14442453)
That's an odd response. Why do you feel that way?
Re:Show HN: Early-stage Yahoo Pipes spiritual successor by robbiemitchell on Monday May 29, 2017 @08:40PM (#14442338)
Why/how so?
Re:Show HN: Early-stage Yahoo Pipes spiritual successor by seanmcdirmid on Monday May 29, 2017 @05:11PM (#14441461)
"Patch and wire" can work in certain contexts, especially for data flow models. You are right they don't scale well (Burnett's scaling up problem), but if the programs are relatively small, they are completely manageable. And it does force you to keep your components relatively small and simple (using compounds to hide wiring for more complex designs).
Re:Show HN: Early-stage Yahoo Pipes spiritual successor by jldugger on Monday May 29, 2017 @05:53PM (#14441678)
IMO, the reason the wiring model doesn't scale up is that most don't provide a way to create submodules (compounds?). I expect that decomposing a problem into a chain of smaller subproblems is a fine way to manage a dataflow.

Yahoo Pipes didn't really offer that, or any anyonymous stdin/stdout. So huge graphs were necessary for complex problems.

Re:Show HN: Early-stage Yahoo Pipes spiritual successor by onli on Monday May 29, 2017 @06:13PM (#14441771)
I agree that it is difficult to tackle bigger problems with this model, and everything that deviates from rss in -> manipulation -> rss out is maybe better served with textual programming. Though I did use pipes in a ruby program of mine basically as micro service for everything web related, shortly before it got turned off...

But Yahoo Pipes did have submodules. You could have one of your pipes as a block in another pipe (I'm planning on supporting that at a later stage). And it had userinput that could get assigned as additional input to blocks in a pipe (for that I don't have a mental model yet).

Re:Show HN: Early-stage Yahoo Pipes spiritual successor by bayonetz on Monday May 29, 2017 @06:45PM (#14441914)
Checkout Rapidminer and Knime for great examples of box'n'arrows applied to machine learning pipelines. I've used Rapidminer a fair bit and they really have a great model including a dynamic number of inputs/outputs from a single box and ability to make boxes that encapsulate pipelines made from other boxes. I was able to do an order of magnitude more experimentation using this visual style than if I had tried to script it in code. I'm a software engineer who loves to program so the fact that I'd pick this tool for that job over programming I think says something.
Re:Show HN: Early-stage Yahoo Pipes spiritual successor by JPKab on Tuesday May 30, 2017 @10:48AM (#14445739)
For a more stable, and more business analyst friendly tool, check out Alteryx. It's not open source, but is powerful, stable, and has SDKs in multiple languages.
Re:Show HN: Early-stage Yahoo Pipes spiritual successor by jldugger on Monday May 29, 2017 @10:42PM (#14442734)
It only had submodules in the sense that you could embed a pipe, but IIRC, they were always sources -- you couldn't pipe data into them. It had a notion of the 'output' block but no input with which you could implement such decomposition.
Re:Show HN: Early-stage Yahoo Pipes spiritual successor by hyperpallium on Tuesday May 30, 2017 @12:11AM (#14442963)
I think I have the same opinion, but express it as: words (i.e. text) can represent or reference anything. They can reference modules. Trying to do this with lines becomes messy quickly.

OTOH unix-style pipes (also used in jq), shpuld be even more limited, being only a tree. They can get too complex, and then you use files as a way to implement modules (in a sense). So pipes have their place.

Re:Show HN: Early-stage Yahoo Pipes spiritual successor by dragonwriter on Tuesday May 30, 2017 @09:13AM (#14445055)
> I expect that decomposing a problem into a chain of smaller subproblems is a fine way to manage a dataflow.

It is, which is why basically all graphical modelling techniques used for system analysis use it. An executable diagram system that doesn't leverage the experience of system analysis diagrams seems somewhat poorly considered.

Re:Show HN: Early-stage Yahoo Pipes spiritual successor by seanmcdirmid on Monday May 29, 2017 @09:31PM (#14442491)
Quatz Composer allowed for composite patches. There is still something hard about using them though.
Re:Show HN: Early-stage Yahoo Pipes spiritual successor by robinhowlett on Monday May 29, 2017 @10:19PM (#14442672)
I work for SnapLogic (an enterprise visual integration product) - the "free canvas" works great for us with live preview of results/data; here's an example linking a third-party code review tool's webhooks with JIRA: https://i.imgur.com/gNr1gGD.png

All of our integrations can be converted into a API with a click of a button too.

Re:Show HN: Early-stage Yahoo Pipes spiritual successor by JPKab on Tuesday May 30, 2017 @11:10AM (#14445886)
I work at a sort-of-competitor to you guys (honestly not sure we cater to the same user bases or not) but I actually like your UX. It's quite sleek. At Alteryx, we have a more traditional Node/Edge model, which probably occupies less screen real estate than your UX does for the same pipeline. However, it would be interesting to study if it's easier for humans to cognitively process a given style. The line of products you and I work in have shown me just how much research we still need to do on human processing of visual charts. UX professionals are just way behind on this across the industry IMHO. We've got some great ones here, but it's not easy finding them.
Re:Show HN: Early-stage Yahoo Pipes spiritual successor by zeptomu on Tuesday May 30, 2017 @11:50AM (#14446153)
The image shows some of the problems quite well. E.g. the following things are not clear to me:

[0] I suppose Rhombi symbolize choice. But where are the branches? What if "Already Done" is true? Or does the else-branch enforce implicit fail-state somehow?

[1] What's the difference between parallelograms and squares?

[2] What's the scope of the "For Each Issue"?

[3] Why is the second output of "Copy Webhook" named ("output1"), but not the others? Are they implicit default output (maybe "output0")?

[4] What happens with longer pipelines? Do you wrap or have a scrollbar?

Furthermore the size of the modules have same size, so one gets into rendering issues (e.g. the names of some nodes don't fit the "boxes"). Sorry, I didn't want to sound harsh, I just think that visual programming is not automatically simpler, just because it doesn't use text (at least directly - one has also to name "modules"). You also don't use the "free-canvas" in its extreme form I described (where you can rearrange everything), as you've e.g. implicit edges between nodes, which is a good idea probably, as users get a feeling about the complexity of pipelines by measuring their length (which would not work if there are different lengths for edges).

Re:Show HN: Early-stage Yahoo Pipes spiritual successor by robinhowlett on Saturday June 03, 2017 @10:51AM (#14476633)
[0] Kind of. It's a filter, so "false" means "do not advance". We have different Snaps for If-Else (the Snap would have 2+ outputs and you would route to a respective "branch" of the pipeline)

[1] They denote different categories - parallelogram = READ (i.e fetch data from somewhere), square = Transform (modify existing data)

[2] For Each Issue - for each object in the specific, targeted array of incoming JSON object... (basically split the array chosen)

[3] Correct

[4] You can adjust the rotation of each output, so it could snake around. You also can drag the output of one to the input of another that are not side-by-side and it will mark them as connected, so you have layout in any way. Finally, you could split up into separate pipelines and use another Snap to tie them together.

I don't think you are being harsh - I'm not sure there is any way for a visual programming language to be both powerful enough to permit massive customizations and concise enough to be immediately readable. Some level of interpretation has to be done.

Re:Show HN: Early-stage Yahoo Pipes spiritual successor by dyeje on Monday May 29, 2017 @10:26PM (#14442693)
What kind of API? Generated code or a web endpoint or something else?
Re:Show HN: Early-stage Yahoo Pipes spiritual successor by robinhowlett on Saturday June 03, 2017 @10:55AM (#14476651)
A web endpoint. So think of an HTTP endpoint where the request body gets turned into the input data and the query parameters become available to be used/mapped anywhere in the pipeline. It makes the integrations pretty dynamic.
Re:Show HN: Early-stage Yahoo Pipes spiritual successor by jacquesm on Monday May 29, 2017 @05:41PM (#14441608)
Compared to putting together the net list of even a mildly interesting digital circuit interactively this is actually really easy. Not as easy as doing it with a text editor and some programming language or scripting solution would be but I think that Y! pipes was never aimed at the developers, much more at ordinary users and those are much more comfortable with such visual solutions than they are with text.
Re:Show HN: Early-stage Yahoo Pipes spiritual successor by lobster_johnson on Monday May 29, 2017 @06:55PM (#14441954)
There are some successful commercial products that use a visual graph model. MaxMSP [1] and Shake [2] (now discontinued) come to mind. You're right that it doesn't scale well as a UI, however.

[1] https://cycling74.com/products/max/

[2] https://images-na.ssl-images-amazon.com/images/G/01/software...

Re:Show HN: Early-stage Yahoo Pipes spiritual successor by mastax on Monday May 29, 2017 @07:06PM (#14441993)
Also: LabVIEW, Unreal Engine 4 Blueprints, and pretty much every Materials Editor I've seen.
Re:Show HN: Early-stage Yahoo Pipes spiritual successor by eriknstr on Monday May 29, 2017 @07:13PM (#14442024)
Unreal Engine 4 Blueprints are amazing from what I've seen, and show what a good visual editor can be capable of. LabVIEW is a PITA in my experience. That being said I have not invested very much time in LabVIEW but I have no motivation to either. I don't mean to flame, that's not the intention, but does anyone on HN actually think that LabVIEW is a comfortable and productive tool? If so, how and why?
Re:Show HN: Early-stage Yahoo Pipes spiritual successor by rubidium on Tuesday May 30, 2017 @06:56AM (#14444347)
I used it for 6 years controlling a complex experimental apparatus for some physics experiments.

It's great at getting out of your way and letting you focus on the results. It's definitely not a typical programming language.

It's great for integrating off the shelf stuff from any major test equipment company. Flow a couple lines and boxes and you've got a PID circuit. Add a few more and you've got a real time oscilloscope. Add a few more and you have data logging. At some point you need to sit down and restructure to get it maintainable, but people who are good with it design it well from the start.

It fits the test bench and small/mid-size experiment system very well.

Re:Show HN: Early-stage Yahoo Pipes spiritual successor by JPKab on Tuesday May 30, 2017 @10:51AM (#14445759)
See here for a modern product that leverages the visual graph model and is rapidly growing in adoption:

https://www.alteryx.com/products/alteryx-designer

Re:Show HN: Early-stage Yahoo Pipes spiritual successor by phreeza on Monday May 29, 2017 @05:07PM (#14441448)
I wonder if there is a way to get the best of both worlds? What do you make of Blockly for example? https://developers.google.com/blockly/
Re:Show HN: Early-stage Yahoo Pipes spiritual successor by zeptomu on Monday May 29, 2017 @05:13PM (#14441471)
> I wonder if there is a way to get the best of both worlds? [...]

I believe so.

Furthermore high-level languages with syntax-highlighting (think Haskell, Python, Elm, etc.) in state-of-the-art text editors are in a better position than the "free-canvas" node-edge editors to provide the base for such a widely used language.

Blockly goes into the right direction, but has a childish touch and I do not think the keywords should have a background with padding.

Re:Show HN: Early-stage Yahoo Pipes spiritual successor by fiatjaf on Monday May 29, 2017 @07:46PM (#14442130)
Blockly (and all the similar visual programming languages) are so awful! They're basically writing, but much harder.

"set", "repeat", "do"? What?

Re:Show HN: Early-stage Yahoo Pipes spiritual successor by phreeza on Tuesday May 30, 2017 @05:28AM (#14443997)
I think the advantage is that they make syntax errors impossible and are more discoverable, because the available blocks can be seen in the sidebar. Of course once you have mastered a language, it is more efficient to write text, but for a beginner it can make the entry less daunting.
Re:Show HN: Early-stage Yahoo Pipes spiritual successor by shiven on Monday May 29, 2017 @07:53PM (#14442157)
Pipeline Pilot (Biovia/Dassault) - Deeply entrenched, industry-grade visual (+textual(PLSQL)) programming system. Depending on who you ask, it is either the bees-knees or a f*ing cancer.
Re:Show HN: Early-stage Yahoo Pipes spiritual successor by Theodores on Monday May 29, 2017 @07:30PM (#14442076)
Have a look at the ideas SGI 'explored' with 'IRIS Explorer'. This was ahead of its time and ahead of even SGI hardware. However you could layer up lots of interesting datasets in ways that would otherwise require programming at some other level.

http://www-sldnt.slac.stanford.edu/hepvis/Papers/Web/9/x1602...

Re:Show HN: Early-stage Yahoo Pipes spiritual successor by kls on Monday May 29, 2017 @08:02PM (#14442191)
IIRC this became the basis of Cosmo Worlds which a company I was with, at the time, used extensively to build computer based training. It was an interesting mix of visual programming and scriptiong. It was based on wiring inputs and outputs into scripts. I really enjoyed working in Cosmo Worlds.
Re:Show HN: Early-stage Yahoo Pipes spiritual successor by Theodores on Tuesday May 30, 2017 @06:47PM (#14449183)
Cosmo Worlds was the tool I used to get my sister a job. I downloaded Cosmo Worlds and I paid for it. Around £450 pounds in 1998? We spent the weekend building a VRML version of her CV with all those things Cosmo Worlds was brilliant at, spatial sound, things that moved, lousy lighting that cried out for a GPU.

My sister had rocked up fairly homeless the week before, we put a solid 36 hours on CosmoWorlds and my sister ended up in an awesome career thanks to what was on that one floppy disk - VRML.

The ambition of Cosmo Worlds was something else, we ended up with a flat web instead.

I thank you sir for Cosmo Worlds!!!

Re:Show HN: Early-stage Yahoo Pipes spiritual successor by kls on Tuesday May 30, 2017 @08:45PM (#14449743)
It was a great technology fun bit of history my company was in a bidding war with Computer Associates for it when SGI decided to dump it, sad part was we where a profitable CBT company that had the extra development capacity to support it. Sadly we did not have the pockets that CA had and therefore where outbided, we knew it was the death of Cosmo Worlds and had to adjust course pretty rapidly, sad part was there really was no competitor for real time web based 3D at the time. VRML had a chance until Cosmo Worlds died. We ended up moving all of our CBT to the unreal engine and retreating back to the desktop. Back then I wrote a pretty popular collision detection library for VRML.
Re:Show HN: Early-stage Yahoo Pipes spiritual successor by supergreg on Monday May 29, 2017 @08:09PM (#14442212)
Yahoo Pipes was brilliant. I never saw it as programming but as an advanced feed configuration.
Re:Show HN: Early-stage Yahoo Pipes spiritual successor by metachris on Monday May 29, 2017 @05:17PM (#14441493)
Interesting thoughts, I would be interested to read more aboute this. Can you recommend any good references to start?
Re:Show HN: Early-stage Yahoo Pipes spiritual successor by zeptomu on Monday May 29, 2017 @05:44PM (#14441630)
Literature is very scattered as the domain "Visual Programming" is pretty broad. There are general-purpose languages on one hand that really try hard to provide all the tools to build complex systems and domain-specific languages for ... well specific domains.

The general-purpose ones did pretty bad (at least I don't know of any complex system tools - say kernels - implemented in them), but there are some niches were some people seem to like them.

  - LabVIEW for control system prototyping
  - Shader-Languages for image processing (games via Unreal Engine and rendering pipelines like Blender)
  - Model-Editors for simulations and in engineering
E.g. in the GIS domain people often process digital aerial imagery via pipelines that can be represented in a similar fashion than this Show HN proposes (for example the model editors in QGis and ArcGIS). Here is an image of a model builder to process some geo-information: http://3.bp.blogspot.com/-9iOyUC8RHXs/UrM2ML5Qe9I/AAAAAAAABx... I am not sure if building this chain via this editor is actually simpler than learning some command line tools or basic Python to accomplish the same thing.

It makes sense that domain-specific ones do better, as they don't have to provide tools for stuff, which is uncommon. It is also easier to implement fold-like structures (say function f: A -> B) that process data with clear input and output than programs that do more IO (say f: A -> IO B). If you do complex IO, you have to introduce some concept of order and time in your system and it is not clear how to do this via the graph approach (example: while-loop), or just can be misinterpreted (edges/connections may symbolize ordering on one hand and data-flow on the other hand).

Assuming one should be able to program general-purpose systems (like all the tools we love: operating systems, databases, interpreters, web-servises, etc.), the solution might be not trivial, but I suppose it is more like the interactive notebooks than the graph approach.

Furthermore I think it makes sense to always have a semantically identically text-based language, as this just makes tooling simpler.

Re:Show HN: Early-stage Yahoo Pipes spiritual successor by sidegrid on Tuesday May 30, 2017 @12:17AM (#14442979)
"I've" is not normally used where it is spoken as "I have". This is similar to people using "an" in front of a word starting with "h" where the "h" is pronounced. Not sure why people do this.
Re:Show HN: Early-stage Yahoo Pipes spiritual successor by flukus on Tuesday May 30, 2017 @12:29AM (#14443005)
> "I've" is not normally used where it is spoken as "I have".

Are you saying people don't use "I've" in spoken language? Because it see it regularly, "I've never" is even a drinking game.

Re:Show HN: Early-stage Yahoo Pipes spiritual successor by schoen on Tuesday May 30, 2017 @12:34AM (#14443017)
I think the distinction sidegrid was making is not actually about pronunciation but about the two uses of have as an auxiliary verb and as a verb indicating possession.

https://en.wiktionary.org/wiki/have#Verb

My impression is that standard American English only contracts the auxiliary verb ("I've biked up Mount Tamalpais") and not the possession verb (?"I've a pair of prescription sunglasses"). Hence "I've been diagnosed with bronchitis" (auxiliary) but not ?"I've a case of bronchitis" (possession).

However, I think this rule is different in Commonwealth English, so we might just be witnessing a difference in English varieties.

Re:Show HN: Early-stage Yahoo Pipes spiritual successor by phillc73 on Tuesday May 30, 2017 @12:43AM (#14443043)
As a Commonwealth English speaker, I am not aware of a rule preventing contraction of the possessive verb "to have." Maybe there is, and I'd be interested to learn about it.

Having said that, commonly I wouldn't say, "I've a case of bronchitis," rather just "I've bronchitis." It feels more natural to say "I have a case of bronchitis." However, this may just be personal preference.

Re:Show HN: Early-stage Yahoo Pipes spiritual successor by schoen on Tuesday May 30, 2017 @12:46AM (#14443052)
I'm now pretty sure that the rule is specific to American English.
Re:Show HN: Early-stage Yahoo Pipes spiritual successor by regularfry on Tuesday May 30, 2017 @08:21AM (#14444721)
"an" in front of "h-" is fine, although it's dying out. You'll usually see it where the first syllable of the "h-" word is unstressed.
Re:Show HN: Early-stage Yahoo Pipes spiritual successor by aaron-lebo on Tuesday May 30, 2017 @12:25AM (#14442998)
Because language evolves?