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:
- “Add” is the most common verb
- Most CMS are not very consistent in how they use their words across the CRUD journeys
- 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.
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.
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.
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.