CJ Eller

Community Manager @ Write.as — Classical guitar by training, Software by accident

If you go back to 1917, you'll find the seeds of ambient music in a strange set of instrumental pieces by French composer Erik Satie he coined as “furniture music.” Here's how he describes it in the manuscript notes:

[Furniture] music completes one’s property. It’s new; it isn’t tiring; it’s French; it won’t wear out; it isn’t boring!

Rather than an artistic statement, Satie included what could only be considered as a parody of a sales pitch. This was sonic upholstery that he was selling. But, as composer Stephen Whittington comments, that was the point (source):

[I]n order to fulfill its function, furniture music must not attract undue attention to itself and must offer no encouragement to those who might attempt to listen to it. It provides musical ‘objects’ for use, not ‘works’ for interpretation.

Furniture music, in other words, was supposed to serve as a sonic utility humming in the background, not as a work of art to be admired. Apocryphal stories about the debut performance (during the intermission of another performance) tell of Satie berating the audience for sitting down to pay attention to his furniture music. They were supposed to get up and go about themselves as any other intermission.

I am reminded of Satie's furniture music because of a recent piece on the Are.na blog from David Reinfurt and Eric Li (source). Therein they explore how the principles underlying ambient music could provide an alternative path for software to take:

What if you took these ideas and applied them to software? Software might create a social network that exists quietly in the background, rather than commanding your attention via shrill notifications or gamifying the experience with rewards such as likes. This software might not ask you to perform as much as it would facilitate awareness. It might reveal affinities and foster concentration. (After all, it’s easier to concentrate in a library than in a shopping mall.) This might be a place for collective research, a place to think in public.

It's odd to think of software existing quietly in the background. But so many things already do this all the time — especially furniture. A chair does not beckon for your attention, asking you to sit on it all day. It just sits there in your living room, patiently waiting for when you want to use it. That's what made Satie's furniture music so scandalous. Music was supposed to actively listened to. That's why you went to a concert. So what exactly was music that was supposed to be ignored? What we now know as ambient music.

There are a lot of software projects out there working towards creating ambient places that reveal affinities and foster concentration. I am optimistic for a world of software that is more like furniture and less like Skinner boxes.

“What is the middle ground between real-time chat and blog posts?” wonders CJ Eller. “Between synchronous and asynchronous communication?” I don’t mean to be flippant but I confess that literally my immediate response to this was, “Twitter.”

This response from Bix has me thinking about how Twitter is testing a feature in that would expand the types of conversations that can occur on their platform. A TechCrunch article explains the four options Twitter is coming up with to “tailor 'replies'” on a tweet:

[A]nyone can reply, only those who a user follows can reply, only those tagged can reply, or setting a tweet to get no replies at all. (Goodbye, needing to make space for “don’t @me.”)

The second and third option in particular would allow for the kind of conversation that I referred to in my previous blogchat post – not only a middle ground between the synchronous and asynchronous but an ability to have public conversations constrained to a particular group of individuals. This development came from internal discussion about how discourse worked on Twitter. Suzanne Xie, “head of conversation” at Twitter, talked about the genesis of these reply options in the above TC article:

“We thought, well, what if we could actually put more control into the author’s hands before the fact? Give them really a way to control the conversation space, as they’re actually composing a tweet? So there’s a new project that we’re working on,” she said. “The reason we’re doing this is, if we think about what conversation means on Twitter. Right now, public conversation on Twitter is you tweet something everyone in the world will see and everyone can reply, or you can have a very private conversation in a DM. So there’s an entire spectrum of conversations that we don’t see on Twitter yet.”

Built in its current state, Twitter leaves out parts of the conversational spectrum. Of course any communication tool does this. You cannot see body language on the phone or hear tone of voice in a letter. But what Twitter leaves out is something much different than a particular social cue. It leaves out, as Xie mentioned, the author's control of the software before using it. With Twitter you can be either completely public or private. Sure, you can have a private account allowing only your followers to interact with your tweets, but intentionality on a granular level cannot be attained. That intentionality is, as Bix wrote about a Warren Ellis thought experiment, what truly makes communities on the web:

The problem isn’t so much public-versus-private accounts as Twitter’s lack of tools for user-driven community building. The test-balloon of being able to control the extent of conversation on one’s own tweets at least partially considers this, but one of the things we lost in the cultural gold rush to social media was the primacy of intentional and circumscribed communities.

These are the limitations of discourse in a space when compared to a place. With blogchains and blogchats amongst other experiments, the point is to bring the conversation back into the realm of place, to create nuance that one finds in a place, where we can converse the way we want to in a tailored made environment for “us”, whatever “us” may be. Robin Sloan beautifully articulated this in his post about a chat app he made for himself and 3 other family members, “An app can be a home-cooked meal”:

And, when you free programming from the requirement to be general and professional and SCALABLE, it becomes a different activity altogether, just as cooking at home is really nothing like cooking in a commercial kitchen. I can report to you: not only is this different activity rewarding in almost exactly the same way that cooking for someone you love is rewarding, there’s another feeling, one that persists as you use the app together. I have struggled with words for this, but/and I think it might be the crux of the whole thing:

This messaging app I built for, and with, my family, it won’t change unless we want it to change. There will be no sudden redesign, no flood of ads, no pivot to chase a userbase inscrutable to us. It might go away at some point, but that will be our decision, too. What is this feeling? Independence? Security? Sovereignty?

Is it simply… the feeling of being home?

The feeling of being in a place.

What is the middle ground between real-time chat and blog posts? Between synchronous and asynchronous communication?

One way might be multi-user blogchains. Imagine if chat occurred on posts across blogs rather than messages. The chain would be the chatroom. But the informality of chat is sacrificed for the formality of a blog post. The formality of a chat room is sacrificed for the informality of a infrastructural kludge chaining these posts together. Could there be a better way to incorporate both the looseness and structure of real-time chat while incorporating the thoughtfulness of a blog post?

Kicks Condor came up with a fascinating technique – “Blog Chat.” He describes it in this post as publishing interviews he does over email onto his blog. This seemingly simple approach offers unique affordances.

One distinct advantage: asking questions and waiting over time to answer them. It’s not that one is constantly mulling over the question for months. The questions are free to go completely out of mind. But, time passes, and new experiences happen.

I think the best phase is after the initial round of questions is over. Once answers are given, the conversation is rolling and we return to life for a day or a week. When we return to converse again, the topic is quite fresh. The feeling that I am not reaching for questions.

As marvelous as podcasts are, conversations can be too slow. I don’t want to get too deeply into min/maxing this shit. It’s a respectfulness idea, as stodgy as that may sound. You can read a decent blogchat in five or ten minutes and possibly hear everything except the vocal camaraderie and perhaps some finer points. You can definitely more easily re-read and quote. This is essential to me—I never hear it all the first time.


A blogchat is an asynchronous conversation that appears as a synchronous conversation. It happens on a single post level rather than across multiple posts across multiple blogs. That allows a more focused reading experience as Kicks describes. And in fact, the conversation doesn't even happen on the single post. Blogchat conversation happens on another communication platform across a longer period of time. Less pressure to get it right that in-the-moment mediums like podcasts require. Towards the end of the post, Kicks brings up an intriguing idea about how to build upon the form of a blogchat:

I think the next thing is perhaps to see what it’s like if a blogchat can be posted as a draft over time, building periodically.

This to me is an exhilarating idea. What if an interview had the iterative powers of a wiki? Someone could answer a question one way but later, as Kicks describes, have new experiences that change their answer. What if the drafting system of the blogchat could allow them to go back and change the answer a bit? Maybe this answer would provoke something new out of the other person and have them change the follow up question. The chat would be a living, breathing thing, but in a way vastly different than a podcast – a living document rather than living people having a face-to-face conversation.

It's amazing to think how much you don't think about when it comes to your own blog. Once started, writing feels to be the priority. What do you write about? What do you explore? But once you get into the habit of writing, you get bitten by an altogether different bug. The tinkering kind. It infects you with questions of how – How will my blog look? How will my blog deal with archiving tags & categories? The urge might feel dormant at times, but that's only temporary. Once bitten, you cannot fight it.

I approached adding Search to my blog that way. At first I thought I was fine. A kludged together application did the trick. It called the Write.as API, grabbed all my posts, and...well that was the problem. It didn't grab all my posts. I capped the number of posts it retrieved to a couple pages worth. At the time I created it, that number made sense. My programming skills at the time, however, had little foresight to anticipate that I'd write more. I had not the patience to figure out how to edit the code in my cloud provider. Another approach would be needed but I didn't know what.

Enter a topic on the Write.as forum.

In many ways a forum can bring about the same happenstance that you find on Twitter. The quality of it feels different though. Even the serendipity has a context that cannot be replicated on social media. Anyways, someone brought up the idea of putting a DuckDuckGo search bar in your Write.as blog. Just add the iframe and you were golden. I replied to the topic mentioning that this was a step in the right direction.

But after responding to the topic, staircase wit got the best of me. I recalled how Micro.blog similarly incorporated DuckDuckGo in their search bar. They, however, had custom HTML and CSS that I preferred over DDG's default. This could certainly be added to a Write.as blog. So I did what anybody should do with staircase wit – channel it into something useful that can be easily shared.

This is how I recreated the DDG search bar for my blog.

First, I grabbed the HTML for the Micro.blog search form and made some changes to fit my blog, notably changing the search url to my blog's url and changing the font color of the results to fit my blog's colors.

<form method="get" id="search" action="https://duckduckgo.com/">
    <input type="hidden" name="sites" value="https://blog.cjeller.site/">
    <input type="hidden" name="k8" value="#444444">
    <input type="hidden" name="k9" value="#2988bc">
    <input type="hidden" name="kt" value="h">
    <input class="field" type="text" name="q" maxlength="255" placeholder="To search, type and hit Enter…">
    <input type="submit" value="Search" style="display: none;">

Once I got this in an optimal place, I went into the Custom JavaScript of my blog and added a function that added it in the footer of each page. The only bother in this step is putting the above HTML on a single line. It doesn't render that way below, but it's what you'll need to do, lest the code editor gets fussy with you about errors.

var topP = document.createElement("p");
topP.innerHTML = '<hr><center><form method="get" id="search" action="https://duckduckgo.com/"><input type="hidden" name="sites" value="https://blog.cjeller.site/"><input type="hidden" name="k8" value="#444444"><input type="hidden" name="k9" value="#2988bc"><input type="hidden" name="kt" value="h"><input class="field" type="text" name="q" maxlength="255" placeholder="To search, type and hit Enter…"><input type="submit" value="Search" style="display: none;"></form></center>';
var cont = document.getElementById("wrapper");
if (cont !== null) {
    // Add to blog index and tag pages
} else {
    // Add to individual blog post page
    cont = document.getElementById("post-body");
    cont.insertAdjacentHTML("afterend", topP.outerHTML);

Finally, I took the styling from the Micro.blog form and added it to my Custom CSS. This completed the look.

#search .field {
    width: 270px;
    height: 34px;
    font-size: 13px;
    font-weight: 400;
    padding-left: 12px;
    border: 2px solid #eee;
    margin-top: 20px;
    border-radius: 17px;

The great part about this solution is that, while the default's just fine, there's plenty of wiggle room to customize the HTML and CSS. It just takes a little tinkering to create something that will suit your preference.

And that's honestly what I want to do more of with my own blog. It's great to make those eccentric, personal solutions that nobody else can access, but I want to do more of the things that anyone can take and tinker with easily. If there's something I learned while being here, interesting things happen when you contribute to the blogging commons.

Recently I've been reserving the weekend to checking social media. This practice is balanced by reading a book throughout the week. It brought to my attention a contrast that posed a fascinating question:

When I return to reading a book, I have a sense of knowing where I left off. When I return to reading social media, do I know where I left off?

I'll check my Twitter feed every 10 minutes, but I scant remember what I read 10 minutes before. If I return to a book after a day, I have a better sense of where I left off.

I wonder why that is.

What you have discovered is a recipe not for memory, but for reminder. And it is no true wisdom that you offer your disciples, but only the semblance of wisdom, for by telling them of many things without teaching them you will make them seem to know much while for the most part they know nothing. And as men filled not with wisdom but with the conceit of wisdom they will be a burden to their fellows.

This damning of writing (in writing) from Plato's Phaedrus is the exact reason why I benefit from writing.

Memory requires reminding myself over and over again about what to remember. More often than not, that comes from writing about the same things over and over again. Posts reveal patterns of thought. These patterns give me more to write about. Soon enough that thinking/writing cycle reinforces memory.

Sure Plato, writing is reminding, but reminding can lead to memory.

Makes me think of a blog as a model of thought, a memory palace of sorts.


Is there something about a smaller user base and topic-based structure that creates different conversations? I've had a back and forth with Hudson from Body of Water over email about this, and he left me a great response to mull over:

I think inevitably and maybe unfortunately the provenance and purpose of these platforms must be examined. I feel like, strangely, social media is about getting somewhere alone, as an individual: follower counts, post likes—metrics to make one feel success or failure. And forums are about getting somewhere together. And social media maybe began that way, about “me”. I feel like forums have always been about “us”. Maybe that's why such strange and harmful aberrations of culture arisen from social media.

Hudson brings up this dynamic between “me” and “us” with platforms that I hadn't thought of before. It reminded me of a talk from Are.na co-founder Charles Broskoski. Taking an analogy from video-games, he mentions that a platform should be able to work both in “single player” & “multiplayer” mode. The analogy stuck with me.

Because when I think of blogging, for example, it's single player by default. But once you add others replying to your posts, it becomes a multiplayer experience. The most important thing is that blogging works both ways. You don't have to care about the multiplayer component to get something out of writing on the web.

But perhaps what Hudson alludes to is the quality of the multiplayer experience when comparing social media and forums. In that, the two are fundamentally different. Bix touches on this difference when describing Twitter:

The problem isn’t so much public-versus-private accounts as Twitter’s lack of tools for user-driven community building. The test-balloon of being able to control the extent of conversation on one’s own tweets at least partially considers this, but one of the things we lost in the cultural gold rush to social media was the primacy of intentional and circumscribed communities.

The “us” found in forums are built on that primacy of intentional and circumscribed communities. It's about getting somewhere together. People choose to be on a forum for a reason. People know why they're there. With social media there is more of what Cal Newport refers to as an “atmosphere of vagueness.” I think this passage from Digital Minimalism hits home with that feeling when describing Facebook in particular:

[B]y far one of the most common arguments I used to hear from people about why I should sign up for Facebook is that there might be some benefit I didn't even know about that I might be missing. “You never know, maybe you'll find this to be useful” has got to be on the worst product pitches ever devised. But in the peculiar context of the digital attention economy, it makes a lot of sense to people. [...]

An atmosphere of vagueness leads people to sign into the service with no particular purpose in mind, which of course, makes them easier targets for the attention engineers' clever hooks and exploits [.]

And that's where the metrics of follower counts and post likes that Hudson mentioned come in. It's the only thing to go off of on a platform that isn't built to provide an intentional multiplayer experience.

Could you even argue that the single player experience is built intentionally? That's a post for another time.

I suspect that the distinction CJ Eller is circling is the difference between space and place. Forums—as opposed to open networks like Twitter—are more likely to feel like a where as opposed to an ethereal nowhere.

This is an important distinction to think about. It especially makes me ponder how spaces and places play off each other. I write this at a co-working space but will soon be back to my house, a place. The experiential difference between the two is buffered by commuting (space or place or simply an in-between?).

How frequently do we jump between spaces and places online? With little to no buffering time, just the switch of a tab, the contextual switching can be harsh. Jumping from a forum discussion to my Twitter feed is jarring. Why is that?

Open networks won't go away anytime soon, so I wonder if there is a way to make these places more like spaces. What genuine things can be done that isn't the equivalent of making a co-working space more like a coffee shop? Decentralized social networks might play an interesting role here. These are open networks with niche interests, like Mastodon instances that focus on certain hobbies or lifestyles. It takes a space and makes it self-selective like a place.

I wonder what other possibilities could be.

Could work the other way around? What virtues of space could place adopt?

I feel more comfortable writing on forums than I do on social media. Replies come naturally, starting topics second nature. Those same activities on social media, however, trip me up.

I wonder whether this is more personal preference than anything – others could just as easily say the opposite. The term “lurker” originated with online forums. Then again, it's a posture that equally describes my participation on social media.

Another part of me, however, wonders whether the structure of forums offers something that gives one more license to contribute than on social media. I know users on a forum differently than I know those who I follow on social media. I don't “follow” others on a forum, yet there's greater context by which I understand them and their role on the forum as a whole.

If social media is a bustling city block, perhaps a forum is like a small town square.

Is there something about a smaller user base and topic-based structure that creates different conversations?

Over the past day I've taken more notice to a common practice from a couple blogs I follow.

Highlighting and bookmarking passages from their web reading.

Simple, yes, but the more I see these bookmarks the more I understand how useful they are – not only to the reader but to me as a reader of the reader.

The highlight is sometimes the only glimpse of an article I'll see. Even so, having that level of context from the blogger allows me to grasp meaning from it. Because I read the writing of the person who is doing the reading for me, their highlighted passages curate for me. Many posts on this blog have come from such highlighted passages. Highlighting and bookmarking are important in that sense, because hyperlexia is a reality on the web. Having different perspectives from which to observe blind spots, then, is crucial.

I come back to a point Jon Udell expressed – context is a service that we can provide others. Because on the base level, highlighting and bookmarking is beneficial to you. But then, once they're on the web, they become potentially beneficial for others – all from making your reading content-addressable.

There are many approaches to take. This post took form because of fellow Write.as user Dino's bookmark posts ( in that sense it's a #ResponseToDino). The simplicity of the post format allows me to receive value from Dino's reading. It lets you focus on one to two passages and gives you context as to why Dino found the article meaningful. Hypothesis has also been a big way for me to catch highlights and annotations from what I've read on the web. The catch, however, is that those annotations stay on Hypothesis – it cannot be serviceable to anyone unless they too have an Hypothesis account/extension. This makes me wonder about ways to make those annotations more accessible – publishing to my blog for instance using a similar approach to Dino. That way my reading can become content-addressable.

Experimentation coming soon...