Settings

Theme

Show HN: A better visual builder for complex business logic

superblocks.com

66 points by frankgrecojr 2 years ago · 47 comments · 2 min read

Reader

I’m Frank, part of the engineering team re-imagining how software is built at Superblocks. We’re an extensible low-code platform that developers use to build mission-critical internal apps and workflows.

We just launched “Control Blocks”, a visual builder for backend business logic that enables developers to drag and drop “blocks” (conditional, loop, parallel, try/catch, variables etc.) onto a canvas and construct cohesive business logic that reads linearly like code.

The industry's approach to visual builders thus far has primarily been free-form flow diagrams where lines define the “control”. This approach works fine for a small set of blocks. However, as logical complexity increases, it quickly becomes impossible to read and debug. We wanted to take a much different approach that catered to the enterprise developer by retaining the same abstractions as code.

With Control Blocks, developers get a visual programming language that looks, feels, and scales like code. We provide the core primitives that allow you to build visually in Superblocks what you would through code. Some of these primitives, such as our take on parallelism, offer a much simpler abstraction than code. With this approach, operations like debugging and refactoring feel much more “native”. With this as our foundation, we’ve found that it is much easier to design features for testing, tracing, reusability, breakpoints, generative AI, and more.

On the technical side, we used this as an opportunity to improve our core execution engine so that it can provide the performance and reliability needed for enterprise usage. We migrated from TypeScript to Golang and started utilizing V8 for our binding resolution engine.

Read the linked blog and watch the embedded video and let’s have a conversation about your thoughts on our new take on this visual builder.

dang 2 years ago

As you had a successful Show HN a few months ago, it's probably too soon for another - see https://news.ycombinator.com/showhn.html.

Show HN: Superblocks AI – AI coding assistant for internal apps - https://news.ycombinator.com/item?id=36495680 - June 2023 (62 comments)

  • frankgrecojrOP 2 years ago

    Our of curiosity, which specific point does it violate? Would it help to remove the "Show HN: " prefix?

    • pvg 2 years ago

      Probably easier to think 'what's a thing to post that would be interesting to HN users' rather than 'what are the precise conditions for maximum posting frequency'. 'We're iterating very fast and have some new features' is usually not interesting enough to get around the 'about once a year for reposts in Show HN' standard.

      Of course, you can, as you point out, post outside Show HN but the same applies - the promotional effect has to be a consequence of interestingness so if you focus on interestingness, you get both and everyone wins.

  • cheschire 2 years ago

    As an aside, where can one find all of the various rulesets? URL modification to tellhn.html or launchhn.html just resulted in 404's.

    I wonder if there's a lack of discoverability of HN rules for lots of folks or if I'm just too dense to personally figure it out.

    As I've never posted one of these topics myself, is there some process hijacking in place that will divert folks to the specific applicable rules when they preface their subject with specific keywords?

shrimpx 2 years ago

That's cool, it's kind of like Scratch [*] for business. Presumably the market is people who don't like Retool because it is too high-level (not enough control) and don't like code because it's too low-level (too much boilerplate and tool complexity).

The risk is that the finer grained control stuff is too much like code ('you lost me at "loop" and "condition"', etc.), or not powerful enough to do the tasks that Retool isn't good at, without diving deep into the weeds, and you're not as good as Retool wrt the tasks that Retool excels at.

Definitely cool that you can extend it with code, though I haven't parsed how that works.

[*] https://scratch.mit.edu

  • frankgrecojrOP 2 years ago

    I'd love to hear your feedback after taking a few minutes to try it out! We think this will be easy enough for non-developers to grok while also flexible enough for engineers to do whatever they want.

    • lstamour 2 years ago

      Seconding the comment above, I think "Loop" might actually be a technical term and something like "for each (whatever)" or "do X times" might be easier to follow. As programmers we know things like while loops and end conditions, but regular folks might want to see something a bit more human readable. Alternatively, maybe some kind of flow chart with a line pointing at itself might convey what a loop is - that end conditions are lines that leave the loop's outer box and otherwise the loop continues through the line that points to itself. I sort of feel like "loop" and "booleans" are technical terms that people don't understand as easily as simpler terms like "for each". I'm not sure how you could make something like "x < 5" simpler though. That's basically math and you might have to point folks to YouTube videos about inequalities.

      Maybe you'd have more than one person setting this up - the engineer could write some of the details with the help of technical docs for the non-techie, but then someone experienced could provide someone less experienced with comments to follow or higher-level descriptions of blocks? E.g. At a high level there could be a human description that says "Load data: While there's more data to fetch ..." or "For each record, relabel fields..." but at a low level, it might say "While len(response) > 0, fetch data" or "Assign object fields x,y,z to response fields a,b,c".

      • frankgrecojrOP 2 years ago

        This is great insight. Taking a more "technical" approach has its tradeoffs but so far, our customer discovery points to this being a tangible approach to try for enterprise use cases. We find that a lot of enterprises assign engineers to build in Superblocks but rather than a team of 100 engineers building out a DIY solution, they can reduce it to only a handful.

        I am excited to experiment with in-product guidance and a/b test copy so that we can make things just as intuitive for those who may not be as technical.

        • jfoutz 2 years ago

          Maybe take a look at cobol.

          I know, I know. But it was designed for non programmers.

          Their syntax in this case is

          Perform . . . Times

          The language might give some insight by offering a different perspective

    • eitally 2 years ago

      I think "Scratch for business" is an excellent way to think about Superblocks. Like IFTTT or Zapier but with an orientation toward what the old promises of JBPM and similar used to make but could never deliver on. If you can empower non- & semi-technical business users to create workflow apps that will either create eliminate enormous headaches for IT.

      • frankgrecojrOP 2 years ago

        I agree. Today we help IT teams solve this with our integration level RBAC but there's a lot of interesting ideas brewing internally for this very problem.

    • mdekkers 2 years ago

      Looks cool, but you lost me at the SSO Tax on your pricing page.

withinboredom 2 years ago

All you are missing now is a 'scratch pad' to 'sketch out' an idea without any definites. Like take a nomnom/mermaidjs flow chart and let me 'flesh out' each block with the control blocks.

  • frankgrecojrOP 2 years ago

    Each one of these "APIs" has a json/yaml DSL that could be constructed with any builder pattern. We just haven't released a public API for this yet.

dragonwriter 2 years ago

> With Control Blocks, developers get a visual programming language that looks, feels, and scales like code.

What problem does that solve? I get that there are situations when a programming medium that doesn’t look, feel, and scale like code might be useful, but when the right solution is something that looks, feels, and scales like code, isn't that what is solved by code?

  • frankgrecojrOP 2 years ago

    Perhaps. Those who want to do that can leverage our Javascript and Python blocks to write whatever code they'd like.

    Most of our platform is centered around "integrations". For example, You'd have a visual block for an S3 integration (that would have been previously configured) that you'd use rather than initializing an S3 client in code for example.

    We want to meet people where they're at though. If you want to write code, you can do that but if you want to use a more visual approach, you can do that as well.

    • frankgrecojrOP 2 years ago

      Another way to maybe approach this is to consider programming constructs that are "hard" to understand. Imagine you want to "do n things in parallel". If your company uses Java (or any language where it's no trivial to do concurrency), this is not straight forward. A visual way to do this makes it much easier.

cjohnson318 2 years ago

Does this handle tasks in different timezones? Is there a map interface? Like, say I've got to manage multiple drivers over multiple timezones, and I need to know who's got an hour left on their shift, what they're hauling in their truck, and where they are on a map.

simonbarker87 2 years ago

I love the idea of low code/no code for fast prototyping and experimentation. We use Zapier extensively for exactly that. Once the experiment is tweaked and considered a success, we port it to code.

The problem comes in the middle phase, after until deployment and before turning it in to code: version control, debugging, collaboration etc is all a nightmare with no/code and so if any experiment gets too big it’s a real pain to deal with.

  • frankgrecojrOP 2 years ago

    I agree. We believe we've pulled off what hasn't been done before and solve the issues you mention. We're adding "step though debugging" (simple version is live today), version control (upcoming weeks), etc. to give an enterprise ready experience.

pvg 2 years ago

Discussed recently here https://news.ycombinator.com/item?id=36495680

  • frankgrecojrOP 2 years ago

    This is actually a completely separate feature! We're just iterating fast! Our AI launch introduced the ability to have AI generate and refactor code for you in our platform.

    • hk__2 2 years ago

      I usually expect "Show HN" posts to be about new products/projects you’ve worked on, not to post every feature annoucement of your company.

      Also:

      > Please make it easy for users to try your thing out, ideally without barriers such as signups or emails. You'll get more feedback that way.

      https://news.ycombinator.com/showhn.html

      • frankgrecojrOP 2 years ago

        Thanks for this! I personally wrote a significant portion of this feature am very excited about this new tech!

        Unfortunately we require email to signup but have a free trial. Users are able to test end to end in just a few clicks.

    • pvg 2 years ago

      Right but that's not really the cadence of Show HN which has its own weird rules.

vb-8448 2 years ago

Some questions:

- can I self-host the whole suite without any internet connection?

- Are you targeting retool users?

- Are you targeting airflow users?

  • frankgrecojrOP 2 years ago

    We provide an agent deployment model that allows your data to never leave your network. We do not however offer an air-gapped solution.

    Superblocks, Retool, and Airflow provide different approach to solve similar problems. We've found that lots of customers prefer Superblocks.

    • vb-8448 2 years ago

      > We provide an agent deployment model that allows your data to never leave your network

      I had i rapid look at the docs and, for what I understand, the agent is "dumb" and need to continuously contact your cloud (similar to github/gitlab ci runners) and also the user interface is on cloud. Correct?

      • frankgrecojrOP 2 years ago

        The UI executes APIs against this agent which talks to Superblocks to fetch API definitions to run. These definitions will be "signed" by a key that only the agent is the authority of so customers can guarantee that it hasn't been tampered with.

antonyl 2 years ago

How does this compare to Retool Workflows? https://retool.com/products/workflows/

  • verdverm 2 years ago

    or other OSS projects that are similar, like https://n8n.io/

    • frankgrecojrOP 2 years ago

      n8n AFAIK is a workflow builder whereas at Superblocks, we are an Application builder (in addition to a workflow builder). We enable developers to build user interfaces that "bind" to APIs that they build with this feature.

  • frankgrecojrOP 2 years ago

    I've used it a bit and find it to align more with the free form node approach where the lines between them define the "control". I think this approach where we introduce a visual programming language has the potential to change the way the industry views products like these.

    There's something about the ability to drag on a try catch, use a native break block in a loop, etc. that feels very "like code".

  • aroc 2 years ago

    Are you a PM at Retool?

cheschire 2 years ago

Reminds me of SharePoint 2010 workflows, and eventually Apple's Shortcuts.

ushakov 2 years ago

Does it work on localhost?

  • frankgrecojrOP 2 years ago

    Yep! You can use our agent to run it locally with Docker. Just go to "org settings -> agent" in our site and use the deployment instructions.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection