45 comments

[ 3.0 ms ] story [ 81.4 ms ] thread
I wonder how many of these see actual real use. As a writer, I can't stand distractions or additional input when I know that all I really need is pen and paper, or Pages / Google Docs if talking computers.

I am also struggling to get over the Gutenberg editor that WordPress introduced. I feel like Matt is being an immature brat for not introducing a simple 'writers mode' for the editor.

People think it doesn't matter, but it does. Those little actions you have to perform outside of writing start to add up.

I created the 5th app in this list (Cold Turkey Blocker). I'm actually surprised they didn't mention my other app called Cold Turkey Writer. It runs full-screen and doesn't let user out of the program until a goal (word count or timer) is reached. I have lots of writers that swear by it: https://getcoldturkey.com/writer/
I used your blocker last week, changing the system clock time (from time and date preferences) made your app useless (doesn't block anymore), so went back to editing /etc/hosts again. If circumventing the block is easier than editing a hosts file I don't see the point.

For many, I don't think changing the clock time is an uncommon thing to think about if the desire to procrastinate arises again.

I think the problem isn't the blockers at that point.
Maybe you should see a specialist.
Cold Turkey uses NTP to get time from the Internet and falls back to the OS time if that fails. You might just need to add a firewall exception somewhere. Also, you can block the system settings so you can't change the time: C:\Windows\ImmersiveControlPanel\SystemSettings.exe
You could look into this app called Sprintwork. I set the profile to be fixed for thirty days and so far I've yet to find a way to circumvent it.

If on iOS, the parental restrictions are awesome.

If on Android, restrictions are worthless so I usually use a blocker, set the phone to unlock by fingerprint and in addition have a system password (because of the possibility of logging in via "safe mode" which I so regret having discovered) written down on a piece of paper and hid inside my neighborhood Starbuck's sofa.

Definitely agree. The previous WordPress editor was clunky but, Gutenberg definitely make writing a bit more complicated. My current setup for writing is https://scribewp.com and https://bywordapp.com and both apps have increased my productivity. While it's not pen and paper it does get the job done.
Exactly. I don't need an app to write. Pen paper are enough. Everything else is a distraction, nothing else
Emacs is seriously the best 'app' for anyone working with text, including writers. And if its (default) looks put you off, have a look at extensions (and Emacs is designed to be extended) like the Poet theme: https://github.com/kunalb/poet
That comic is on the programming/IDE-side of Emacs though, which isn't what I'm talking about here. Quite seriously, Emacs is really excellent for non-program writing too, which is mainly what I use it for.
(comment deleted)
(comment deleted)
The joke is really just that emacs users are so consistently evangelical it becomes amusing and endearing. I love that a piece of software can be so good that it inspires people to do so.
I see. I hadn't thought of that particular comic (which I have printed out and posted on my office door) from exactly that angle; I always thought of it as pointing out the extensibility of Emacs (and the willingness of people to extend it).
Amen to that. I read a blog post somewhere (sorry, lost the reference) about a writer (non-programmer, mind you) who switched to Emacs for Org-Mode.

Another extension that's great for writing/note taking is Deft [1]. Give it a directory (optional recursing) of .md, .txt, .org, etc. files, and it will let you filter through them instantly. I've been using this for a few years now and it's still my primary digital note-taking system.

[1]: https://jblevins.org/projects/deft/

I had exactly the same thought, except with vim. I think the real advantage vim and emacs have is, they're still going to be maintained in 20 years time, and you won't end up having to do all your work on a machine that's two decades old, or write on something new and uncomfortable every half-decade.
For Linux Desktop, I have mostly enjoyed Focus Writer. It was available in my package manager (Gentoo, Portage), so I gave it a try. It's pretty good for distraction-free writing.
iA Writer is so much better than other minimal, writer-focused apps it’s an indictment of this list that it’s not on here. Markdown means you have a forever file format that’s exportable.

My only real complaint is that it doesn’t have some more robust manuscript compile features.

All in all, one of if not the best app purchase I’ve made in years.

I agree, but the list is focused on free apps. This should have been in the HN title
If you are working to get published try Discover by Submittable (YC12):

https://discover.submittable.com

We list many opportunities from literary journals and other orgs for free. You can get the app for $5 which has a couple small extras like push notifications when your submission is accepted. Our newsletter is high-quality and free as well.

I love Ulysses. It's replaced Evernote for all my note taking. I can point it at my .md folders for local storage. It has typewriter mode, tabs, and is entirely theme-able.

I don't mind paying the subscription since I wasn't a customer before they switched business models.

Serious suggestion - semantic HTML5 with the tags in a decent IDE.

You may laugh but I am serious. Language has moved on and it has been moving on for as long as there has been recorded history.

With HTML5 you get the extra markup for 'section', 'article', 'aside' and there are other semantic elements that already exist - 'em' is not the same as 'i', it infers emphasis rather than making the letters italic.

See the elements as punctuation. Yep, that means writing 'p' tags around sentences. An IDE autocompletes the tags but it is gentle about spelling mistakes and grammar is unknown to it.

You can fully typeset a book in HTML, if you want to comment bits out then you can. With an IDE you can close sections between tags up.

Then there is good old version control. Compare your changes.

The medium has other creative opportunities. I might not finish my book that starts out with 'In 2019 we should be...' until 2021. I could just code that in so the year is correct.

So long as you have some fluency in HTML5 and know the tag vocabulary then the markup in the original document does no harm. Screenplays and plenty of other written forms have a format, tidy HTML5 is now mine.

The semantic tags and the 'outline friendly' structure also help writing. No longer does text just have to be text.

We are so used to 'div soup' style HTML churned out by a machine that we have forgotten what real HTML5 looks like. There is no need for the div, span and other coder-only elements, there is also no need for classes and ids if writing actual content in neat HTML5. With CSS Grid one's copy can be styled with a few basic rules on 'section', 'aside', 'figure' and other top level elements.

Proof reading is pretty good too - refresh the page in the browser. Plus, in text nowadays one does need to cite sources. Links are easy in HTML5, not so easy in other things.

Try it, you will be surprised. Plus, if you should be coding and you are working on your novel, most people will just see a programmer IDE on screen...

I like this idea, but maybe there should be (or maybe there is) a writing-specific subset of XML, like there is with music. The HTML elements come close to encompassing a lot of functionality, but I think there ought to be an expanded set of tags for doing ... stranger? .. things. For example, how would you render "House of Leaves" in HTML? I'm thinking of modern music composition and how it's really pushed music notation, and I think MusicXML handles it... so I imagine a WriteXML can cover traditional forms of writing and adapt to more experimental forms as itt developed.
Love the idea! In my teenage youth, I had two interests: writing fan-fics and coding up websites in HTML. Somehow I felt that the only way I can "trust" my writing to look correct is by live-coding it in HTML as I composed it.

Nowadays, I still write, and I use Markdown like you are "supposed to"… But it does never feel quite right.

The TEI (Text Encoding Initiative) XML format is a writing-specific XML vocabulary.

https://teibyexample.org/ https://en.wikipedia.org/wiki/Text_Encoding_Initiative

The whole set is enormous as it can encode all kinds of modern and ancient forms of literature with many kinds of annotations, even parallel versions of the same text as often happens with old works for which there is no known “original”. You can encode scribal variations etc.

There have been several attempts to create a simplified subset that would be useful for what we could call a normal modern book, but they haven’t got very far because it is still cumbersome and the tooling needed to work effectively with it is not freely available. I’m working on such tooling in my spare time, more focused on DocBook as the vast majority of what I write is technical documentation.

The simplified subset from TEI themselves is called TEI Lite: https://tei-c.org/guidelines/customization/lite/

If TEI sounds interesting to you, there is an application called TEI Publisher, Free Software under the GPLv3, that you might use: https://teipublisher.com/

Actually, looking at it again it now looks quite good. I’ll give it a try later.

Edit 24 minutes later: tried to install TEI Publisher, it works on top of the eXist XML DB, and after installing it, starting it gives me an “Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException”. Ah well...

Well you can't just leave us hanging, what is a good ide for authoring good semantic html5?
Emacs.

I say that seriously, as a VIM user.

I am no expert on IDEs - I just use PHPstorm as it has uses for authoring SVG files that you don't get with Inkscape or other proper programs for SVG. I do put my docs on a Apache server that is localhost but the built in server of PHPstorm is pretty good. You get green squiggles under spelling mishtakes rather than angry red lines, you also get proper red squiggles for errors in HTML.

I don't need to use extensive facilities when writing HTML, the 'reformat code' button does come in handy and that is about it.

I think you get this in all IDEs. So my advice is to stick with what you know or go with VSCode. VSCode moght fall over with huge code bases but it 'War and Peace' is small compared to a codebase.

There is some vagueness about writing semantic HTML5, for instance, do articles go in sections or vice versa?

This does not help. I go with a main inside the body tag with that containing articles. Then in each article I put sections, asides and figures.

To keep my writing succinct I find that the html5 details/summary elements are really handy. You can write an article that has a paragraph of text and some bullet list of things then hide the waffle in a details/summary element rather than have it linked to on a separate page.

You can put sections, articles, more details/summary disclosure elements in a details/summary combo.

This is a world away from writing templates where everything is a div with classes and ids.

What I also recommend is a basic CSS stylesheet that loads a font with the font being variable width. Use that for the document, then use CSS grid to put some margins in so put header, footer, main in column 2 with the grid-template-columns set to something like 5vw 1fr 5vw. There is no need for 'reset.css' or other stuff, you have something pleasant to work with that can then be tinkered with over time, responsive out the box.

This is basically what I've been doing except I use all custom tags with custom written stylesheets. You can have a lot more flexibility that way.
Can you post an example?
Well, the novel is not finished. However, here is one of my early efforts at trying to write clean HTML5.

https://www.maggie-shaw.co.uk/

If you go straight to 'view source' you can see what I have tried to do in constructing 'human editable' HTML. The 'sections' do not have 'titles' and could be divs as I just need some wrapper to get the full width banner images in the middle of each 'article'.

I had started this page with 'details/summary' disclosure elements but ended up mimicking that interface with the headers at the top of each 'article' and some scripting.

I also tried to use 'form' as a container for all calls to actions, even if this was not a real 'form', but just a way to show an image full screen.

I was trying to do a few new things so maybe the 'nav' container was what I needed. But I wanted buttons for accessibility. The burger menu should be a 'button' for accessibility too.

The code and use of elements on this page only has class attributes for things that change, not as general styling hooks. A lot is contrived and could be improved, but I think I got the general idea of 'separation of concerns'.

On a tangent: one of the things that's been really difficult is trying to find a writing app that is sync-friendly with a co-writer, as me and a couple of close friends work together on scripts for a comic.

That is to say, I want to do a file sync with Dropbox or any other service/application, and the co-writer or co-writer(s)/artist(s) can also either get it, or be notified there's a new version, and not suffer any accidental overwrites or loss of data.

(Scrivener is an option, and it's apparently Git friendly for that purpose, so we have that going for now. Google Docs and Etherpad Lite are not acceptable/usable replacements either.)

Shameless plug, I’m developing an iOS keyboard where you receive XP by typing words, and you get stats like words per day. Currently in private beta and looking for beta testers more info at https://erudito.io