Author Intrusion for a little while

Yesterday, I finished the first draft of the last of my writing obligations. It's taken me a few months, mainly because my output has dropped significantly with me breaking a leg and BAM coming into our lives. It also means that the new few months are probably going to continue to trend and I'm going to be frequently interrupted and not given a lot of contiguous hours to write.

I could work on Sand and Bone, the third and final book of the series. I'm about three months from finishing that project.

Sand and Ash is currently at the editor, but I honestly don't expect to get it back for another four months (probably my largest frustration at this point).

The problem comes down to these longer projects. When I write, I keep hoping for features that no program seems to have. My project dictionary has gotten rather cumbersome, which makes it harder since I have to copy/paste it into each new chapter. When it was thirty or so words, it wasn't so bad. At three hundred words (including names, locations, conlang, etc), it is a significant hunk of each document. There are also other little things that would help with writing, but Emacs (or Scrivner or Word) just don't seem to handle.

Since Ash is in limbo, I decided to work on Author Intrusion for a month or so. Actually, I started over again because the last five attempts have ended in logical dead-ends. I'm not going to say failures, because they aren't. I learned a lot with each iteration, but when I got far enough into it, I found places where they broke down.

In the last few months, I actually tried seeing if there was something I can do with another editor, including looking into expanding Emacs or Sublime. Sadly, I don't think I have the skill to do either of those, mainly because of the infrastructure and their associated scripting languages (Lisp and Python respectively).

I've gone back to a C# implementation, but with a different foundation for the editor. I'm also leaving it a glorious mass of single projects until the 1.0.0 release instead of the first checkpoint release. I think I split the projects too quickly and spent more time shuffling the DLLs around then actually coding.

I'm also trying to focus on staying with unit tests for longer. I think I know what Gtk# can do at this point. I'm planning on stealing most of the Gtk# GUI code for the project, but integrating the code with the GUI adds a lot of complexity to solving projects. If I can resolve most of them via TDD, then it would be easier to integrate later.

I still plan on writing a WPF and a Mac-specific front end, but Gtk# plays better across the two platforms I use daily.

Sadly, I was hoping Gtk# or Qt# would stabilize after a half year, but they haven't. I found ways of working around them for now, so I'm going to move forward and figure out those problems when I get there.

I have no clue if this is going to work. But, I'm still going to try. The problem comes down to complexity. A lot of developers can talk about how to create a game, a to do application, or a slew of other applications. But, very few talk about creating an IDE. I think I know why, it is a complex problem. And I'm doing this on my own, so I fully expect there to be stumbling along the way.