When Attention converges to Zero : Enterprise Software Trends

Information technology floods us with information and software – faster and faster. Our attention span gets shorter and shorter. Things need to get straight to the point and just work – immediately and without distraction. Websites remove clutter to keep visitor attention. Mobile screen sizes push them even further. Ad axing is a nice side effect of this reduction. This post illuminates this trend from the enterprise software perspective.

Perfection is achieved not when there is nothing more to add, but when there is nothing left to take away” (Antoine de Saint-Exupery)

Enterprise Applications

For applications, it means they need to be dead simple while retaining the functionality people are after. Apple found this out early and it is a key ingredient of their secret sauce. People are sick and tired of complexity. They don’t grasp enterprise software and hate it – just like children in school hate math. Traditional enterprise software heavyweights such as Oracle, IBM and SAP with complexity wired all across their DNA are unable to adapt. That’s one reason why consumer software invaded the enterprise.

That’s so true !

I understand that big companies move slow by nature, but I don’t get why they cannot ship and install simple bare bones applications. Whoever needs legacy components can still be provided the option to add them later on.

But why make a bad impression on prospects or new customers ?

SpringSource is a true exception in the enterprise arena. In their announcement of their framework 4.0, it reads : “each application only does one thing … small enough to fit in your head … small enough that you can throw them away”. Awesome ! Those values from Unix stone age are true evergreens. The rise of Sinatra, Noir, Ratpack and all the other micro frameworks proves there is serious demand in the framework market.

The vast majority of XML based technology is horrible. Basic build-files or bean definitions may not be mind-bending but other DSL hosts (such as Groovy or even JavaScript) make a better experience. XSD, XSLT, SOAP and WS-* is where it gets really ugly.

As I content management guy, I hope the CMIS crowd realizes that and makes the SOAP part at least optional in the next iteration.

The cloud is awesome in terms of simplicity. Unfortunately, it has (NSA) “issues”. Still, storage- and collaboration are very interesting (and fierce) markets to look at. Cloud native or not : Simplicity is a must. The german(!) company protonet understood that (amongst other things) from the very beginning. Their slides are definitely worth a look. An alternative combination of a Synology NAS running owncloud is a little behind with regards to features, but I am sure the gap between the two is closing. The big challenge for both of them will be to expose a decent API for third party apps.

Programming Languages and Tooling

Programming languages are another interesting market to look at. PHP and JavaScript win for a reason. Java fails for the most part (Web and Desktop). Guess why ? It is just way to much of a ceremony. I remember Mark Reinhold at Devoxx saying that Oracle works hard on keeping Java relevant. I am sorry, but I do not see this happening. Ironically, I would say it is mostly Android keeping it relevant.

Compare Clojure and Scala. Clojure is dead simple. It is so simple people do not even recognize it because we got used to think convoluted. Now set this in contrast to Scala. I can’t help myself, but looking at the slides from Odersky and Phillips make it look ridiculous. And no matter how hard I try, I cannot follow the arguing of the subsequent defense post.

What exactly is the problem with being 70s and the notation ?

Maybe we should get a basic metric for complexity – such as the amount of rules to learn.

Stuart Halloway (from the Clojure camp) nails it with his statement “Simplicity Ain’t Easy”. However, people obviously have very different understanding of simplicity. At the end of the day, that’s fine as long as they are happy with the outcome of their work. I wasn’t and I am trying to change it for the better.

It takes serious time to unlearn the complex and go “truly” simple. It is like starting all over. A lot of common developer tooling seems broken to me. Eclipse? What a nightmare! Does not even get basic PHP or Javascript right for me. And no, I do not want a bunch of dedicated Eclipse “light” installations for each and every purpose. The new IDE generation featuring products such as Lighttable or Brackets is small and strongly focused.

Legacy code slows down development. The more you keep, the slower you will move due to complexity. On the other hand, getting rid of code is the most effective way to fix bugs. I am really happy when I can convince customers to drop old unused baggage. I still have a lot to get rid of.

That’s all folks !

References

Andreas Steffan
Pragmatic ? Scientist and DevOps Mind @ Contentreich. Believes in Open Source, the Open Web and Linux. Freelancing in DevOps-, Cloud-, Kubernetes, JVM- and Contentland and speaks Clojure, Kotlin, Groovy, Go, Python, JavaScript, Java, Alfresco and WordPress. Built infrastructure before it was cool. ❤️ Emacs.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert