2019 Challenge: no Custom Code

Challenge for the year 2019: no custom code

I challenge myself (and you!) to not use any custom code when you deploy any of the Experience Cloud Solutions.

Rules

There is only one rule, actually, which is: if you need any Javascript code, put it into an Extension, publish the Extension (privately if the Javascript code is sensitive or doesn’t make any sense to anyone else, or publicly, because d’uh!), use the Extension.

For added karma points, put the code for your Extension onto github, so others can learn from or build on top of what you did.

Motivation

Quality, standards, simplicity, you name it.

First of all: quality

I have written so much about data quality, I wouldn’t even know where to start linking to. Almost all of it was about making sure our developers wouldn’t pull the floor from beneath our feet. Almost none of it was about the stupid things we do ourselves.

Custom code is by far the biggest source of stupid mistakes, getting rid of it our best bet for getting better.

My hope is that Extensions, if they are used by lots of people, and if their code lives on github, get better to the point where they work flawlessly.

(For the old Omniture crowd: this is what people like my colleague Ken McKell have done for ages with the plugins.)

And that brings us to the second aspect: standards

One of the attractions of standard systems is that it is easy to find your way around.

I’m thinking that looking at someone else’s deployment of Analytics does very often not fall into that bucket. On the contrary, it can take quite some time to understand what has been done in the past.

That can’t be good.

So to the extent that we can, we should do things a standard way.

I am convinced it would help adoption. People would be able to look at some data point, and they would be able to interpret it, a bit like someone looking at a green traffic light and knowing from experience that now would be a good and safe time to drive.

Third one: simplicity

Partly touched that aspect with standards, but I think there is more to it.

If you try not to use any custom code, you force yourself to track things more easily.

I guess what I’m saying is: don’t be lazy and just build complex, bespoke crystal castles.

Your friendly marketer can do some pretty amazing stuff with even basic data. Analysis Workspace, Segmentation, Calculated Metrics, all those things have given her tools that mean you (we) no longer have to put as much focus on deployment as we used to.

And here is a bonus motivation, sort of a secret one: you can put a lot of tinkering into building Extensions. I mean, a lot. That’s an amazing playground, right there…

Exceptions

The obvious exceptions to the challenge are:

Well, there’s one that I can think of so far, which is the Media Module for Adobe Analytics.

Maybe we need an alternative for that…