Five Things (to Accomplish One Goal)

Back in November of last year I started publishing Five Things posts on Sundays as a way to make use of some of the “mini blog posts” that have been accumulating in the various places I used to keep track of potential post subjects1. I like these as they are generally pretty easy to write and are a good place to assemble a collection of disparate ideas. The lists can also be used for a common theme, which is what I plan on doing today to outline something that I’ve been thinking about for a while with regard to “rich format” writing.

The problem that I have, if it can even be considered as such, is how to publish blog posts that have a custom layout for a single article. The majority of the things I write can be displayed as they are, in a single column with images being full-width and placed between paragraphs. However, for some of the longer-form content that I’ve been writing, this is suboptimal. What I would like to do is have something more akin to a magazine-style than a uni-column blog. Narrow devices would continue to see really long pages in a single column and wider devices would see two or three columns of text in a semi-dynamic manner across “pages” the height of the browser … assuming I can do such a thing without frustrating the reader.

There are some news sites that I used to read that would occasionally put out a special report or longer journalistic piece with a completely custom layout involving rich photography, layouts, backgrounds, and the like. These would look pretty good on a phone, interesting on a tablet, and unique on a notebook. Looking at the URL of the article, it was easy to see how a publisher accomplished the task of displaying a relatively one-of-a-kind site design: an alternative distribution engine or HTML flat-file. I'd like to do something smarter than this.

A New Post Type

A lot of the post types that are part of the 10Centuries system come from the IndieWeb. Notes are social posts, articles are blog posts, quotations are links elsewhere with a block quote containing something from the source URL and perhaps something written by the author, while bookmarks are essentially the same as quotations minus the author's remarks. There are other types in the system, such as Locations2, Places3, and Scribbles4, but there will need to be one more that acts as an extension of the article type: essay.

By using a different post type, it will be easier to allow people to filter out the really long posts from their viewing while also signifying that a post type should be handled a little differently if there is some applicable form of metadata, such as a completely customized page layout. Going this route will also make it possible for readers to subscribe to just essays via RSS or JSONfeed if they so choose, which may prove to be quite beneficial if people prefer the longer content over the day-to-day blurbs.

Support for HTML

At the moment, 10C is very much a Markdown-based blogging tool. While some forms of HTML can be typed into the editors and kept intact5, it's pretty much impossible for someone to truly customize a post for things like right-aligned images, tables, and even simple JavaScript tags. All of this stuff is stripped out for one reason or another. If an essay type is going to allow a completely unique layout, then raw HTML support will need to be accepted.

I will need to think about how to handle embedded JavaScript and links to external resources, though.

Summary Display

Summaries can be written for any object that exists, whether it's a social post containing a single emoji or a 25,000-word rant on the injustice of delicious food being high in calories, but the feature is generally not surfaced at this time. Given that it would not make sense to have a complete essay on the landing page (of a blog), a summary would need to be provided so that readers understand that they can read more of the long-form piece by following a link, which will then reveal the full HTML of the site.

This would probably be something that is made optional, as some writers might actually want their landing page to consist of 10 long-form essays in a single-column view.

A Writing Application

Not everyone can write HTML, nor should this be an expectation for people who just want to have creative liberty over the things they choose to publish. An application that allows people to write the content and customize it in a simple GUI that also previews exactly how something will look online will be key to making this sort of thing work. There are a number of rich blog editors that allow something close to what I'm looking for, so it may be possible to accomplish this goal with MarsEdit or something equally usable.

Time

When something is important, you make the time. I'll admit that the last few weeks I've been setting aside time to work on solving problems at the day job rather than 10C or even a freelance effort6 but, as things begin to slow down, it should be feasible to get back into the 10C feature updates. There are a couple of items that have passed testing but are waiting for other features before release, so I need to sit down and get this done. Time is something I eternally struggle with. Hopefully it will be possible to have all the basics in place before August so that work on an application can begin soon after. Both Windows and macOS will be targeted first, with the more mobile devices coming afterwards.


  1. These have all been consolidated back into Evernote since returning to macOS a couple of months back.

  2. Private Geolocation data, generally with a comment, photo, or other piece of information.

  3. Public Geolocation data that is shared across the network as part of the goal to contribute back to OpenStreetMap.

  4. An Evernote-like object that is used for note-taking with the ability to embed objects.

  5. The HTML is actually not kept intact. Acceptable tags are converted to Markdown before being stored in the database so that as HTML tags evolve over time, it's easier to ensure the newer standards are being followed.

  6. I really need to get back to this and release the updates. The client is generally quite patient, but I'm not comfortable leaving work undone for a month.