Technology will get more and more complex until it collapses

Technology will get more and more complex until it collapses

I came across a great interview by Chuck Moore, inventor of the 'Forth'  language still in use today by NASA.

The last part of the interview is very interesting and I think it relates to the pain we're aiming to solve, or at least reduce, here at OutSystems!

"I learned to type on a key-punch. The keystrokes were long and slow and noisy. For a while I had an IBM Electric typewriter. The touch was superb: soft and quiet with real tactile feedback. When I tried an IBM keyboard, I was bitterly disappointed. It clattered. Keystrokes were vague and noisy. Feedback was a joke. Didn’t cost much, though. Technology seems to be a random walk. Some things get better, some worse. It’s like evolution, not goal-directed. Cell phones get smaller, ‘till you can’t use them; then they get bigger.

An example is USB, the Universal Serial Bus. It’s a success that people must cope with. It’s also a disaster. The universal protocols it dictates require a huge amount of software to support. To develop such software requires reading thousands of pages of specs. Which are neither complete nor accurate. So what happens? Someone develops an interface chip that encapsulates the complexity. And then you must learn to use that chip, which is at least as complex.
(I think here we've successfully developed OutSystems to be the Web interface without the added complexity!)

Complexity is the problem. Moving it from hardware to software, or vice versa, doesn’t help. Simplicity is the only answer. There was a product many years ago called the Canon Cat. It was a simple, dedicated word processor; done very nicely in Forth. Didn’t succeed commercially. But then, most products don’t.

I despair. Technology, and our very civilization, will get more and more complex until it collapses. There is no opposing pressure to limit this growth. No environmental group saying: Count the parts in a hybrid car to judge its efficiency or reliability or maintainability.

All I can do is provide existence proofs: Forth is a simple language; OKAD is a simple design tool; GreenArrays offers simple computer chips. No one is paying any attention."
I read this while waiting for a 60,000+ SU application to publish. I've done this app 100% by myself, other than some styling of things by others on the team. The amount of code I would have had to write to do this any other way would have been staggering, and I'd be lost in the application just to make minor changes. I am still working at nearly the same efficiency I was when the project was small, other than getting a bit lost in the Screen, Entity, and Action lists.

A project of 1 developer of this size is simply near impossible with any other tool I've encountered.

Is this a discussion? :)

Yes, I agree OutSystems solves a lot, but it also introduces a lot of overhead and complexity on a different level.

Technology seems to be a random walk. Some things get better, some worse. It’s like evolution, not goal-directed

Imho OutSystems is turning worse. Not sure what 6.0 will show, but SS is already getting bloated.
Intelliwarp is nice, but after the intial stuff, does it really get used every day?

Still, I would recommend OutSystems anyday anytime anywhere :D
Joost -

If it isn't, it is now! :)

I agree about Service Studio too. I look at the Wisdom of the Crowds suggestions and cringe sometimes. People want a single click to replace 30 seconds of work simply because it is a pattern that their particular application uses on a regular basis. The problem is the bloat, as you say.

IntelliWarp makes a great demo to impress folks with the system, it lets you build a prototype SUPER fast, but for my applications, I can't use it for the screens because it omits all of the business logic I need in my Preparations. I'm putting together training videos for my team, basically we copy/paste and existing screen and change the entity references to be the new entity. This way we capture the standard logic that we use throughout the system. But it's hard for me to train new people, because they see the videos and then try it out... next thing I know, my application is polluted with a zillion permissions for each entity, argh! I wish IntelliWarp had settings, like "create permissions" or "add to nav bar" that I could disable, because we use neither in our applications.

Discussion :)

Goncalo, nice post. I've read it with a lot of ah-ha/indeed particulair the part: "Cell phones get smaller, ‘till you can’t use them; then they get bigger." because I had some personal issues with this (when the phones get smalle I wasn't able to press the strokes right (me with my big fingers :) ) so I had to wait till the phones got bigger again).

Regarding the discussion, particulair about Service Studio, I think here also can be said that much functionality isn't even know by developers. Sometimes I learn a thing about SS where I thougt: why didn't I know that yet. And yes reading documents about how it works....not done :).

I can totaly agree with Justin about the amount of work that can be done by one(or more) developer(s) what never could be done by quicly writing the code. Now I'm working for Wasco and it has a very nice webshop where the start up was with 3 developer, now only 2. Here was told that another company (only webshop) have about 40 people to mange the webshop (of the 40 there were around 40 developer). Off course that webshop was bigger/nicer and better but comparing it with the wasco webshop I don't find it 10 times as good.

Justin, wouldn't it be possible to make a 'temp' page with all coments what to do? Like the style guide in the early days (of is it now still like this)?

Kind regards,
Evert -

I've considered that, but there's just a bit too much to do to explain through comments. It's something that once you do it twice, you know it. :)