In which I take a very scientific approach to research only to make decisions based on vague feelings anyway.

Reboot: Too Far Down the CRUD Hole

1481 words about creative — 19:34 · 12th Mar 2022

Between January and April 2021 I got a little lost in my spreadsheets.

I think it was on the second week of documenting what labels that different content management systems (CMS) used that I began to ask myself questions such as, “Have I gone too far down the CRUD hole?”

And, “You’re the only one who has access to your makeshift cms, why does it matter at all?”

To which I scoffed and replied to myself, “It’s like you don’t know me at all!”

But I did crawl out of it for a while to get some perspective. I then reviewed, wrote myself a blueprint for and built the Notes section.

So the time has come to crawl back into that hole, tidy up the last bits of this mostly-finished entry and publish it.

“Mmm smells nice and damp. Is that a bucket of piss, why did I leave that here?”

Anyway.


Today we’re looking at four basic operations of persistent storage that any model should be able to do, using Notes as our working context:

  • Create — I can create a new Note
  • Read — Anyone can view an existing Note
  • Update — I can update an existing Note
  • Delete — I can delete an existing Note

Together, these operations are usually referred to as CRUD.

Although I’ll need to support all four, my research will focus on Create and Update as these are the operations I’ll use more.

Read is the only public operation because anyone with access to the internet can read any Note I publish.

Meanwhile, Delete is something I rarely do so will not get as much attention in today’s research.

Now, it’s important to distinguish that this is what the System does, not what I do.

This brings us to the next part of our focus today which is the words I use to describe those four operations, or “microcopy”.

The default microcopy for CRUD operations matches their actions. As in, the operation, “create” is called “Create” and it creates a new thing.

To get a better understanding of how we could describe this, let’s take a look at what verbs some of the most popular CMS call their “create” operation, by looking at the link text they use to signpost it.

CMS Link text Page title: H1 Submit text Success message Link
WordPress Pages → Add New Add New Page save draft/publish Page published. View page /post-new.php?post_type=page
Shopify Add product Add product Save Congratulations! You added your first product. admin/products/new
Joomla New Article Articles: New save/save n close/save n new/cancel Message Article saved. [See footnote 1]
Squarespace Pages → Add page New Page: Main navigation Done → Save none (Saving… then back to previous screen) /config/pages
Wix Add → Page none: Add page Publish (Publish & continue) Congrats! You have a new page (or Congratulations!) [See footnote 2]

Footnote 1. /joomla/administrator/index.php?option=com_content&task=article.add

Footnote 2. /website/builder?storyId=9e6a00ad-3ba0-4484-a817-d0e08cb820ff&editorSessionId=10fe0465-945e-4ccc-b1bc-07bce9f15ad4&referralInfo=my-account#!/builder/story/9e6a00ad-3ba0-4484-a817-d0e08cb820ff:83c4d060-3a77-442e-aa6d-7fb26a66bce7/add-page/

Right, so three things stand out:

  1. “Add” is the most common verb
  2. Most CMS are not very consistent in how they use their words across the CRUD journeys
  3. I’m not convinced that any of these labels are very clear

Building on the last point, I think that most CMS struggle with user adoption and onboarding specifically because they use inconsistent and unsuitable words to describe the sequence of the main thing that people do.

Their user journeys are not coherent or predictable.

Can I do better?

Hypotheses

After reviewing other systems and how they do things, I’ve decided to test a couple of hypotheses.

I’ll be testing these using Google search results and Google Trends, where the number of results will represent popularity, i.e what resources Google has indexed, and trending search terms will represent intuitivity, i.e. what people actually search for.

For my Create operation, I’m testing the verbs: Add, Create, and Make.

My hypotheses are that:

I think Add will return the most results.

I think Make will be the most searched for.

Meanwhile, for my Update operation, I’m testing the verbs: Change, Edit, and Update.

And my hypotheses are:

I think Update will return the most results.

I think Change will be the most searched for.

Cartoon-version of Carlos Eriksson dressed as a scientist, processing large amounts of numbers that are floating by.
What a beautiful mind.

Create, results

Search results Add Create Make
“{verb} page” 3,410,000 4,260,000 1,150,000
“{verb} page” -{other verbs} 1,370,000 679,000 374,000
“{verb} new page” 1,830,000 2,060,000 400,000
“{verb} new page” -{other verbs} 84,900 651,000 166,000

Research results:

Create returns the most results.

Create is the most searched for.

So, I’m wrong on both accounts.

Chart showing the search results and trends for the Create operation.
The search results and trends for Add, Create, and Make.

Not only that, but Create also returns the most relevant results whereas Add’s results are more attribute-focused and Make returns results such as, “How to make the page editor load faster for Theme Fusion.”

In terms of search trends, Add and Create are quite comparable with Create peaking in April 2012, whereas Make is consistently less.

Update, results

Search results Change Edit Update
“{verb} page” 1,340,000 6,240,000 15,000,000
“{verb} page” -{other verbs} 547,000 2,800,000 8,630,000
“{verb} existing page” 1,350 5,220 10,700
“{verb} existing page” -{other verbs} 2,160 1,740 736

Research results:

Update returns the most results.

Change is the most searched for.

I’m right on both accounts.

Chart showing the search results and trends for the Update operation.
The search results and trends for Change, Edit, and Update.

Looking at the results themselves a little closer however I can see that although Update returns the most results, they’re also the most irrelevant results. Whereas the results for Edit is much closer to the kind of CMS operations we would be expecting. Results for Change are decent but not as relevant as Edit.

In terms of trends, Change is already more frequent back in 2004 and only increases as time goes by, whereas Update and Edit stay consistently low.

Research method limitations

Google search results are both temporal and inaccurate which means the number of results isn’t particularly accurate but for this “research” they had to be enough as I wasn’t able to find any other corpus that was big enough.

I used Google’s Verbatim mode to explicitly search for exactly and only my terms. Verbatim removes personalised, corrected, suggested, related, and non-inclusive results.

As an example, without Verbatim mode, a query for “create page” returns 8,170,000,000 results instead of the stricter 4,260,000.

Meanwhile, Google Trends can’t return verbatim terms so I had to rely on fuzzier terms to quantify trending terms.

Conclusions

So, now I have to choose what verbs I’ll actually use for my CRUD operations.

It’s interesting to note that there’s a disconnect between most CMS using Add as their preferred verb but neither results nor trends match this preference.

What would you choose?

Create might seem like the obvious choice, it’s both the default system verb and is consistent in terms of relevant results and trending as a term.

I am, however, deciding on Add and Change.

Create and Add are trending about the same amount, but Add is a lot easier to say out loud. This opens up opportunities for a voice-controlled interface—which is something I’ve already explored as a prototype but want to test more.

Decision made, now let’s look at all the places I’ll need it. The goal is to make user journeys that are more coherent and predictable than most CMSs.

Operation Link text Page title: H1 Submit text Success message Link
Create Add note Adding note Add note Note added /notes/add
Read {note title} {note title} none none /notes/{slug}
Update Change note Changing {note title} Change note Note changed /notes/{id}/change
Delete Delete note Deleting {note title} Delete note Note deleted /notes/{id}/delete

As you’ll see, I’m changing some of the links as well, technically “cool URIs shouldn’t change”. And I agree with this. I don’t think my links were cool, to begin with, so I’m changing them to make them cool.

What would you choose?

I’m running a Twitter poll for a week from today and I want to hear your opinion.

You’ve just read Reboot: Too Far Down the CRUD Hole.

In which, 4 months ago, I wrote 1481 words about creative and I covered topics, such as: web design, and behind the scenes.