I love that it is not only clean and usable, but also they somehow managed to make it cool in a very minimalist and utilitarian way. It is like a digital version of a sleek physical synth with very raw industrial design. Reminds me of how NAD amplifiers look ugly-beautiful with their greyish chases.
i just like that theres a damn plugin rack at the bottom. most other DAW's i can't stand how i have to click some tiny little button to see the plugin window. its nice to be able to tweak knobs on different plugins in your chain easily
Counterpoint: the UI is usable but ugly. Logic Pro does a better job of clean UI while maintaining the OS look, more or less, and still being very usable and flexible in a similar creative space. I love both programs but I "feel" better in Logic.
Funny! I think fl studio ui is the worst, ableton is better than fl, and bitwig much better than both. I guess it really is just personal preference or maybe we mistake familiarity for ergonomics because we build muscle memory for tools and then if we try anything else, it'll obviously feel worse because we don't know how it works.
> I guess it really is just personal preference or maybe we mistake familiarity for ergonomics
These are mutually exclusive the way I see it, and I would argue that personal preference is the right one.
I tried learning Ableton but didn't find joy in it, I think it's because FL Studio has closer origins to the music tracker days whereas Ableton avoided that.
I would say they both offer different mental modes that are orthogonal to one another
For me it was through comparison I realized this. I used some other DAWs and found Ableton to just make sense. They jam so much into a simple UI that it all just makes sense.
Same. To be honest I tried using FL Studio (back when it was "Fruity Loops") and it never fully clicked with me. Live immediately made sense, it's been home ever since.
I moved from Ableton Live to Bitwig and found Bitwig's interface even more intuitive than Live's. There are some idiosyncrasies in Live's UI that aren't hard to learn but definitely non-intuitive, in my opinion Bitwig has a more polished experience for interaction/intuitiveness.
Modulators [0], for example, they are available as a side-panel on any device which you can click the rectangle with a "+" button and select any type of modulator: LFOs (many different kinds), curves, envelopes, segments, etc.
Instead of creating a LFO as part of the chain of devices it's clearly a thing embedded to the device itself, including on VSTs (so any VST can have more complex modulation than they offer natively). You can multi-target the modulator to affect any parameter on any of the devices across the whole track, so a LFO modulating something on the 1st device in the chain can also apply the same modulation to a parameter on the 9th device so they can be "coupled" to that movement, this mapping is also attenuated per application so even though the movement is the same it can have different magnitudes when assigned.
It completely removes the need of LFO Tool for complex curves/ramps, etc., or the LFO as a device with the "map" button to assign to parameters, if I want 10 LFOs I can just have them all together as a side-pane of a device or the track itself. It makes much more sense that a modulator is attached to something instead of being its own thing on a long list of devices.
Another improvement: macros can live on a control panel for a device, whole track, or even the whole project, so you can create a macro knob at the project-level and map it to affect any parameter of any track, and just map the project-level macro knob to a MIDI controller to modulate whatever parameter in the whole project.
These are just a couple of intuitive features from the top of my head I use in almost every single project.
Quick edit: another feature I remembered after writing this comment that I find more intuitive is the creation of control pages for a device, it's accessible right below the "modulators" button and opens a side-pane to create up to 8 control knobs mapped directly to a device's/VST's parameter or even mapped to a "macro" modulator which itself can be mapped to many parameters of a device/VST, it's really intuitive to create pages of these controls and only use the controls themselves to change parameters, I barely open the VST window after experimenting a bit with which parameters I want to play with and mapping those to controls.
(I'll just pre-empt that if you say "Rust", Rust wasn't around until recently and the F-35 project started in '93. These things span decades, while only a few programming languages do)
C++ is a pre-standard "Eh, just do whatever" language in 1993.
Bjarne's 2005 JSF rules have the same effect as an "Employees must wash hands" sign. It's not the billion dollar fast food chain's fault that a minimum wage employee didn't obey the sign and now you've got food-borne illness. They put a sign up!
Ada is far safer than Rust (not in edge case memory allocation problems, but in day to day application programming), and not only existed at the time, it was the industry standard for aviation (for good reason). Entire educational programs and pipelines existed for it.
Boeing and other defense contractors dropped it because C++ programmers were cheaper on paper (not realizing/caring that good C++ engineers were more expensive).
One of my current coworkers used to work on on-board systems for military aircraft. Anecdotally he tells me the critical systems for the ones he worked on were Ada but other systems could be C++.
Because you think there is no such language, or even one that gets closer than C++? Look I still kind of like C++… for games. I would never put it in a fighter jet for gods sake.
I don’t want to be inflammatory, so let’s stick to facts. The F35 is the manifestation of a test aircraft designed in the 90s. Of that era, software was predominantly single threaded, hardware definitely so. They also weren’t using the latest and greatest of hardware at the time, they opted for proven flight platforms with hardware dating back well back into the decade. So, very lacklustre performance, tight memory constraints.
The only other legitimate choice for writing software at the time would have been ADA, which for some reason never took off despite being purpose build for the application. Of that time, C++ was the new hotness, it was popular, it was solving architectural problems, and it was performant, unlike say Java.
It’s fairly naive to say “I’d never use C++”. The C++ programmers of the time would have looked at Fortran or COBOL with the same level of disdain. We are lucky to live in a time of better options, and the impending post code future.
Yes we did, the major impediment was the price of available compilers, their dependency on UNIX workstations, where the Ada compiler was extra, on top of C and C++ that were already there.
Until Ada Core offered GNAT to the community, there were no affordable compilers.
Yet, there is still enough business to keep 6 compiler vendors selling them.
There were schools of computer science, accredited universities, that taught it heavily (one of the 3 lab intro to programming languages next to c++ and python, and allowed to be used through the entire program at mine). A 1/3 of graduates of some of these places got jobs in it, because they were reliable and well paying jobs.
And then the industry swapped to C++. This was not a DoD mandate, this was companies like boeing trying to pay their engineers 1/3 to 1/2 less by paying for C++ devs (starting salary for ada devs was 90-140k, starting salary for c++ devs was 60-180k according to exit statistics). They of course eventually learned that good C++ devs are actually more expensive than their old Ada ones. Not that they bothered to hire good c++ devs.
No it wasn't that nobody wanted to learn it, it's that back then Ada developers cost a lot more than C++ developers and businesses didn't want to pay them.
I think what is obvious now wasn’t obvious then. If you think about how Linux and the open source community rallied around C, this was at complete odds to what was being taught at a university level. It’s a miracle C survived (if I only through new C++ programmers thoroughly rejecting its promise and sticking to “safe C++”). Even still, rust is a solution to memory lifetime problems with a modern toolset, it’s not solving ergonomic problems which is how you attract new developers. Similarly, ADA was a better language, probably pascal too, they didn’t win.
Has there ever been a modern fighter jet built in the last 50 years that wasn't consider in one aspect or another an "failure"? At this point, the term "failure" seems almost pointless to describe very large, nation state projects that are heavily used and have thousands built.
Whether the F35 was a failure depends on whether you are looking out your forward window, or rear view mirror, and when you were looking.
The F35 program certainly seemed like a white elephant, until it crossed the threshold into production and wasn’t. It was a massively delayed cost blowout project, which has turned into a huge success.
reply