Back when I got my first Mac, I was really impressed with the collection of quality software that shipped with it by default. One of the apps I loved the most was Automator.

Automator hasn't had much love in the past 5-6 years, but it remains a really impressive piece of software. The ability to automate a complex series of actions with pre-defined tasks, AppleScript scripts and JavaScript scripts all from a drag 'n drop UI is really interesting. It seems that Apple has rekindled its interest in this solution too with the new iOS Shortcuts app, which is basically Automator for iOS.

I feel that IDEs should head further into this direction as time goes on. The large majority of applications these days are thin clients backed by a complex API. They're basically glorified forms with fancy graphics and animations. These kinds of apps really shouldn't need a developer to break out Swift and Xcode and invest multiple months building.

I also think that systems programming in general could go this way. When you look at what Unreal Engine 4 is doing with its visual node graph for AI scripting, it makes sense. Developers shouldn't have to worry about syntax, they should be concerned more with the actual behaviours they're describing. Pure logic.

It's the equivalent of builders using pre-assembled bricks rather than mixing a bunch of raw materials and setting them into brick shapes. We've come so far, so why are we still fiddling around with something as low level as programming languages, something we've been doing since the 70s? That's nearly 50 years of compilation errors.

I personally think logic graphs are the future, things like Luna (not a great example since it's super Alpha, but gets the point across) are really exciting. In my past dev jobs, the large majority of contention in pull requests consisted of:

Imagine if you could eliminate all of that? That's pretty compelling.