semantic: the 8 letter s-word
I'm writing to convince you to ban the word semantic from your work.
I actually like the word--I've spent a lot of time thinking about the role of semantics in markup--but I've come to see it as a hurdle to thinking and communicating clearly.
The main problem is that a complex context can have many people trying to create and interpret meaning for different reasons and from different perspectives.
I'm probably projecting--but I think throwing a five-dollar word like semantic out in conversation pulls people (who don't want to look stupid) into their heads to reflect on how to interpret it. But it's a trap to try and interpret what how or why something is meaningful from our own ~transparent perspective.
I think a simple shift to meaningful is a big step in the right direction. It begs us to ask the right question: meaningful to who?
I learned HTML in the ALLCAPS hand-authoring era, and I spent years naively projecting what semantic HTML must mean from the transparent perspective of someone who's written a lot of content in HTML: a subset of ~valid HTML that is supposed to enable me to mark up what my content means.
This reasoning seemed plausible enough to me and I didn't pick up on the hints that my perspective was irrelevant, here. I had chances, of course. For example, I always interpreted the set of presumably-semantic tags as a bit... quixotic. That was a clue, in retrospect, but I was also already familiar with HTML as a slowly-evolving language with many warts.
I think being asked to write meaningful HTML better lights the path to realizing that it isn't about what the text means to humans--it's about using tags for the purpose outlined in the specs to meet the needs of software like browsers, assistive technologies, and search engines.
Note: I have ~beef with the term semantic HTML that extends well beyond this, but I'll save it for later posts. I also make this perspective argument at a little more length in the gizmo's role in markup.
Last year, I began picking at some ideas about a markup language for do-it-yourself semantics. This spring I started trying to write about what I've learned and built. I knew this would be work. I've been building on intuitions that I've had a hard time verbalizing all along--building layers of realization, tools, and more intuitions--that I now need to figure out how to share.
But I spent a lot of time spinning my wheels. I kept getting turned around in my own thoughts, and none of my usual strategies for making sense of something complex were working. I eventually realized I was spending a lot of time talking myself through what I meant by different uses of the word semantic(s) (which my early drafts use frequently).
Mulling this for a bit led me suspect that semantic (or my use of it, at least) is a sort of slippery weasel-word--a leaky abstraction. I decided to temporarily ban it from my vocabulary and start from scratch.
(The result was a 4-part series on naming things which starts with WHAT functions and WHY functions.)
This... went fine. It didn't magically order my thoughts--it was still work--but it did help me get traction and keep it. It forced me to wrestle with places where forms like
<adjective> semantics or
semantic <noun> were standing in for complex concepts that needed simple, lucid explanations.