... or "Everything I know is filed under 'I' for 'I might need this someday."
Note:
There's a lot of Tumblr-love in this document. I admire what Tumblr has achieved with its easy curation service. Much of the inspiration for what follows is inspired by years of experience with Tumblr, my own publishing service, working with other publishing services, the Nelson/Alice/Copeland demos, and the Twitter parody website "Noveller" (now gone, sadly), in which the minimum post entry was 80,000 words.
What I have:
As most people who read and care know, I'm not just an all-singing, all-dancing, do-it-in-any-language full-stack web application developer with a passion for beautiful, functional front-ends, I'm also a fiction writer with a love of old-school space opera and high-concept adult-orient science fiction written with comic-book and mangas-esque sensibilities. I maintain my writer's site, Pendorwright, with two tools: A wordpress blog for the home page, and a CMS specifically designed to manage fiction called Narrator.
Narrator is currently at version 3.0. Every few years I've updated it. In 1995 (no, really), it was a collection of Perl scripts. In 1997 it became a Perl CGI, then in 2001 it was a Ruby CGI, and finally in 2006 it became a Django application.
Narrator is fine, as it is. I write my stories in Markdown, which is a holdover from my days as a Usenet junkie, and when I upload them to Narrator, they become HTML automagically and are stored away. I have some customized fields in the uploader to tell Narrator what book the story belongs to, where in the book to put the story (the end, by default, of course), and even a "publish on." Narrator has a concept of series, and associates a Django template with each series, so the old-fashioned space-opera gets a retro-techno template, and the high-concept steampunk looks vaguely Wikipedia-ish, and so forth.
Narrator has a lot of problems. Not bugs, problems. For one thing, I like reading my own stuff (and there's a lot of it, over a million words), but here are the ones that keep me up:
* No in-line editing tools. If I'm reading one of my own stories and I find a typo (not an infrequent occurrence), the best I can do is note it. Later, I can fix it in the markdown document, and re-upload it.
* No easy way to add series. I have to develop two templates-- one for the table of contents, one for a story, and they have to be written in Django. This requires programmer-level confidence in what Django's doing.
* Only one output format: HTML4. No easy conversion tools.
What I want:
* A Tumblr-style templating engine. I create a single document that describes how to display either a single story, or a collection of stories (including collections of collections, in case I want something like a "trilogy, book, story" heirarchy), associate it with a collection, and it _just works._
* Automatic conversion of a _collection_ into an [epub](http://www.hxa.name/articles/content/epub-guide_hxa7241_2007.html). I want to be able to specify a few details (including cover art) and have a beautiful EPUB delivered automagically.
* Automatic conversion of a _collection_ into a PDF ready for publication. I want to be able to provide a collection of style guides and a font suggestion, and have a XeLaTeX-produced version of the document delivered to me automagically. This document should be ready for
* In-line editing. If I see a typo, I want to be able to click or tap on it, get editing options, fix the document, and write it back. I don't want to have to leave the document to do this. It should be _contenteditable_. Better yet, the mobile version of this should _look_ like an ebook reader, with page flipping and all the usual bells and whistles, and still provide _contenteditable_ features on a per-page basis.
* Using the Tumblr-style templating engine, provide a home page for all series, as well as custom pages not associated with a story, into which I can add commentary.
* I want my collections to be unique-- some are for the web, some are for epub, some are for print. I want to be able to edit the templates at will, such that I'll be able to put up different sidebars, footers, whatever I can imagine, depending upon whether or not the content is a story, a table of contents, a page, or a blog.
Where I'm going:
Most CMSs are about publishing for the Web. And they're for non-fiction. I want to publish everywhere. And I want other users to be able to do the same.
So, here's what I want to build:
For sellers:
A home page that sells stories. Yours and mine. Either individually or as collections. The home page for our service is about getting paid for work. Because I believe that DRM is essentially an evil that prevents you from doing what you want with your own stuff, and that it doesn't prevent pirates from pirating, we're just going to skip the whole DRM issue and dictate that we don't sell stuff with DRM enabled. Interior pages will lead to: individual publisher/curators, individuals authors, and individual books and stories in EPUB format. All of the usual bells and whistles will be available: searching, filtering, reader's comments.
A censorship-free sales center. I understand that several sites have had problems with payment clearance houses refusing to work with them due to content. I'm currently researching clearance houses for whom all money is, in fact, green.
A monthly subscription service that would allow readers to subscribe to site for a web-only experience. Authors would get paid on a pay-for-play basis. Most epub resellers (think Smashwords or Stories Online or Samhain Press) sell a "what we do." I want to sell stories. I want authors to _get paid for their work. _The home page, with its cover art, blurbs, excerpts, and recommendations, would _sell stories. _Better yet, it would sell impulscriptions: "Read this story for .99c, or get an entire month of Ellody, up to 80,000 words a day, for only $3. Annual subscriptions are $24.00 (that's 1/3rd off the monthly price)."
For authors:
An easy-to-use organizational tool for collecting stories and collections into coherent, easy-to-display lists and individual items. Stories and collections can be marked as available to read on the web, as an epub, and as printed matter. They can be marked as draft, published, or due to be published on.
A complete in-browser editing tool that is visually indistinguishable from the story as it is shown to the reader. This editing tool will include a cache manifest so that even if you go off-line, your work will be saved. In fact, you should have access to upwards of 5MB of your working collection available on your laptop, tablet, or even phone. This editor should be as pleasant to use, perhaps even moreso, than a basic distraction-free text editor of the kind available in Wordpress.
This content will always be available in HTML.
A private analytics tool that lets you know how people find your stories, how much you've sold, comments made, and trends with respect to their work.
Automatic conversion of your works to beautiful EPUB formats, including well-chosen made-for-epub typefaces.
Automatic conversion of your works to beautiful PDF formats. This include gorgeous made-for-print typefaces, specialty designs for chapter pages, well-designed front and back matter pages, correct pagination for prefaces/introductions/dedications, and the like. Our starting point is a toolchain that converts your EPUB-ready XHTML documents into a LaTeX stream, incorporates it into one of several "beautiful book" templates with chapter page/regular page inline templates, and produces the output via XeLaTeX.
Automatic submission to Lightning Source, Lulu, or other print-on-demand service.
Automatic submission of your work to the Apple iBookstore, Barnes & Noble, Sony Reader Store, Kobo and the Diesel eBook Store, in customized EPUB formats specially formatted for the iPhone/iPad, Nook, Kobo, Diesel, Bambook, Blackberry, Iliad, iRiver, and Kindle formats. (We will not be selling through Amazon, but as our books are DRM-free, they can be side-loaded into the Kindle, and should conform to the Kindle format as much as possible.)
Automatic print availability via Espresso.
A phone application that lets the author fix typos on the fly, no matter where he or she is. Even better: this typo repair mechanism will work even when the user is off-line. Once back in the networked world, your fixes will be submitted to the story manager automatically.
A beta-reader network manager.
A beta-reader markup scheme that lets the author see what beta-readers have said about their stories: typos, duplicate words, and other elements of a beta-readers contribution that could be flagged.
For readers:
A pleasant experience that lets them preview some stories, and read those stories an author has chosen to share commonly. A tipjar for free reads, and an easy purchasing experience if the reader wants the book in an EPUB or PDF format.
A convenient app for the iPhone and Android platforms that lets readers keep track of what they've read, let them into what they're reading now, keep track of favorite authors and publishers, and make purchasing new stories easy and fun.
For Beta-Readers:
(Beta-readers have been granted early access to a writer's work in order to critique it.)
A version of the app that allows beta readers to long-tap on a paragraph and add either instant feedback: "Typo", "Awkward," "Confusing," "Duplicate wording," or longer feedback via beta-reader notes. The idea here is to give beta-readers no reason not to give feedback: the tool is right there in their hands.
For Publisher/Curators_:_
One of the beauties of Tumblr is that it provides a curation service: everyone who reblogs is building his or her own collection of great content. Tumblr has its problem with respect to the legal provenance of some of that content. Readers will create the own reader lists, and perhaps will want to set themselves up as a small press.
As a small press, the publisher's duty will be to take on what the author himself is unwilling to do: market, sell, distribute. Perhaps even take on the risks of printing without assured sales. But more than that: to create a coherent vision out of several authors, to collate their short stories into multi-author anthologies, and to publish/print those anthologies using the existing tookit described. Authors will share royalties on a story-proportional basis.
Stretch goals:
Automatic conversion of text to other formats: MediaWiki, OpenDocument, and RTF (suitable to Microsoft Word).
Automatic conversion of MS Word to our native format.
Super-stretch goals:
Since we control the complete format for the story as its stored, separating the contents of "chapters" into scenes and paragraphs, and allowing the user to format the story by dragging-and-dropping scenes around as needed. In our editing tool, automatic identification of characters and settings, and allowing the user to create a comprehensive superstructure for the story: a comprehensive outlining tool. Users will be able to save this superstructure and import it into future stories, to make writing series easy. The author need never again guess a character's eye color or hair color again. By typing the name into the editor, that character's details will automatically come up in the sidebar. Plot lines, with rising/falling action, complications, and so forth will be trackable in an easy-to-see visual language. The user will be able to banish all that distraction with a single gesture.