I'm working on a program for writers to act simply as a convenient and simple environment in which to write (not a magical tool that makes your writing better). I'm doing this mostly for fun and to learn programming techniques, but also because I'd really like a tool that gets me around the annoyances of the things I use every day.
One of the worst things a developer can do is just start building something without consulting the potential users. In this case I'm a user and the developer, but it occurred to me that I know a whole community of people who happen to write on a regular basis and they would be excellent people to ask.
First, my objectives - why not just use MS Word? Note: there was a long, long post about this a while ago, and I'm not trying to rekindle it. Rather, I'm trying to explain why I want to make a tool.
I know that programs exist, both free and paid, that address some of these issues. If I end up duplicating functionality that can be found from a free tool (my favorite thus far is yWriter), I'm okay with that. (There are parts of yWriter that annoy me too, like its import feature that requires formatting, the fact that it needs me to merge my chapters... and I want to make a prettier UI).
Here are the features I currently intend to have:
My question to you all is, what do you think of the above feature set? Would you add anything? Take away anything? What do you hate about the programs you use now?
What cardinal sin could a program commit that would make you never want to use it again?
Also, do you have a preference on the color of the background ? Not the page, mind you -- that is always white. Just the background of the program. What color is most pleasing to you while you write?
One last query - when you write, do you leave Word (or yWriter, or whatever word editor you use) open in full-screen mode always, or do you have a window that you can move around the screen?
[This message has been edited by micmcd (edited December 11, 2008).]
quote:
Also, do you have a preference on the color of the background ? Not the page, mind you -- that is always white. Just the background of the program. What color is most pleasing to you while you write?
While I don't consider myself in the market for a new writing tool just yet, you may be interested to know that there are strange people out there like me who use Word's 'Blue background, white text' feature. ie, though the printed page is still black on white, the displayed page is in a different colour scheme. It's interesting to note that way back in DOS days, a few word processors and text editors had blue background and white or yellow text. How times have changed!
Just for some extra input on the features I like...
I would absolutely love to use Microsoft Office One Note to write my novel in, but the word processor part of it is extremely lame.
But it has the one-click-away features you described. I keep all my notes in there and love it. I have to-do lists, and web links, and character photos. You might get some good ideas by playing around with it. Good luck!
Oh yeah! Another thing that both Word and One Note don't have is a calendar feature. I need a calendar to look at and plan scenes/plot points. I had to build my own table and type in all the dates myself, which was frustrating when I had to do it over and over again for each month.
With respect to the file-per-chapter issue: you can do that with MS Word and Open Office. Both have a feature with a name such as "master document" that allows you to build a large document from separate files. This Windoze feature was buggy when I played with it a few years ago, but perhaps they've improved it. I've never tried the OOo equivalent. I mostly use OOo these days; it was very buggy in general a couple of years ago, but seems stable now.
Ah, one thing I have always liked about wordperfect is the REVEAL CODES. command, where you could look for imbedded codes within the document. That has saved me many times. I have imported files such as cut and paste from the internet and it come out weird. The ability to remove weird codes was nice. Of course, if you have what amounts to the notepad like environment, that would be nice.
One thing I used to do was where I had a long, difficult name, such as rumplestiltskin, I would write the piece using a simpler name such as Robert, and then do a search and replace through the document, replacing all examples of my handle name with the real name.
Having cut and paste of codes would be nice. I used to take plain text documents and add tabs into them using search and replace. In wordperfect, you could search and replace codes, such as search for [hard return] and replace with [hard return[]tab]. In Wordperfect 5.1, I could just do the keystrokes and it would put the code in for the search. In later versions, I have to select a command, search through a list of possible commands. That is a real hassle Being able to copy those codes into and out of the search windows would be nice. Being able to copy some piece of text and paste it in the search would also be nice, save time and accuracy.
Another thing I liked in wordperfect 5.1 was it had something called deadkeys. You could set it up for a set of macros where you hit an assigned key and then another key and you get a macro running. The same assigned key and a different key and you get a different macro. Double hitting the assigned key, and you got that key stroke. Of course, wordperfect had its macros outside the document, which meant for little chance of macro viruses.
One last thing I liked in wordperfect 5.1 was that the user dictionary was kept in the folder you were working in. I could be using a set of really mispelled names or terms in one folder on a story, and don't want to have to hit ignore every time, so I could put them in the user's dictionary in that folder. I might want gloob, blorg, Shamatmats as accepted words in my story, but it would not show elsewhere that I want those to be a misspelling. Those files were editable in wordperfect, where I could later zap words I added accidentally.
Just some thoughts.
I almost never use full screen and will usually have several windows open in addition to the working text--windows on research, backstory, a dictionary, thesaurus, a browser for more research on the internet, and--critically--other parts of the chapter I'm working on, or other chapters. My screen is large enough to enable me to see more than one window, so I can be typing into one while referring to another, which saves clicking between them.
Cardinal sins: crashing, losing text, failing to format properly when printing.
Features to consider adding:
Automatic backup copies of text.
Version control of chapters, or entire works (like versioning files and builds)
Tabs for backstory--like chapter tabs, with free-form text, but they don't print in the finished work. (And can be printed separately for reference.)
Templates for final output format, user-definable, because different markets can have slightly different detailed preferences.
All that said, if you offered it on the market I'd be very unlikely to buy it because, as others have said, one can do all of this with Word or Open Office, albeit with some manual hacking about for chapters and so forth. (And avoiding the master doc feature which, as WouldBe says, is still unreliable--or was, last time I looked.) I'd prefer to stick with a product whose problems are known to me than swap it for one unknown.
If you try to meet everyone's requirements you'll know there's a risk of code bloat.
While I agree the standard MS format is ugly, I've given myself a Word template that's Courier 12 pt, etc, and I type stories submission-ready. I've trained myself to see, not the MS format, but the story. If you can do that, you can surely save a huge amount of programming. If, for the window display, you used a simple monospaced font (so that page layouts are as they will be on the printed page--I saw one program use Lucida Console, which looks nicer than Courier) and offered minimal choices for font and formatting, the program would surely be smaller and faster.
Using Word, the manual interventions necessary to overcome its lacks are small in terms of time. Will you save more time than you spend on the programming? Of course, if you find the programming fun, then it's not time wasted ... one wonders if this really isn't some kind of giant procrastination project, avoiding the pain of writing ;-)
Good luck with this,
Pat
In response to various questions and comments:
- I didn't know that Word had that Master Document feature. Thanks WouldBe.
- SymphonyOfNames - I don't intend to have lots of clutter. There will be almost nothing in the toolbars, as I don't intend this to be something where you can play tons of games with fonts (I'll have a few options). I chose not to go that direction for two reasons: 1 - MSWord and various copies have already done that well enough, and 2 - The code to do it isn't fun. Also, if you really want to open the .rtf chapter files from my program in Word and change the font, add pictures, tables, or whatever, you can. My program won't prevent that.
- TaleSpinner - I was considering whether or not to include Version Control. I actually work on a source control product for a living, but at the moment I'm leaning against that functionality for a few reasons.
- Betsy Hammer - I love OneNote too, and I agree that the lack of decent word processing functionality is the big disappointment. The type=save feature is a direct copy of that. In fact, I'm wondering how they did that so seemlessly.
- To those who mentioned not wanting to buy new writing software:
- As to whether or not it's a giant procrastination project... well, the jury's out. It's not really all that giant; I have a decent portion of my original intended functionality already working. It's debatable as to whether or not it counts as procrastination, given that I want to use it to increase my coding skills. But yes, it does delay me sometimes from writing (which I still do in Word, with notes in OneNote - I doubt if I'll completely quit using either of them even if my program is a smashing success).
- And one other "dream list" feature. I was considering allowing the user to create Events, and to add metadata to any chapter to include start date and end date, according to whatever date system you use in your WIP. From this data, I could auto-generate a timeline (and potentially allow you to change the dates of events by dragging them on the timeline). This would require a lot of code work, but also a lot of user cooperation. Not sure whether or not people would find this useful enough to use.
It is easy to define where each scene begins and ends. When I highlight and right click a selection of text within the main body of the story, one of the options is 'Add to scene'. Using this, I can add this selection to an already-defined scene, or create a newly defined scene. When I create a new scene, I name that scene.
For example, I can create a scene called 'pico meets the alligator' within the body of the main story. When I switch to the scene card view of the program, a card with the heading 'pico meets the alligator' is now available.
From the scene card mode I can add and edit text if I want to, and the changes will be made to the main body of the text.
There are a few features that you identified that I'd love to see (automatic chapter re-numbering is one. I'd love in Scrivener to be able to identify a folder as a "chapter" folder and then have the numbering re-order when I drag and drop).
One thing I LOVE about Scrivener is the export features. Very rich and well-thought through. I do wish I could get word count by clicking on a folder, however. I can get word count by selecting a folder and then clicking one button, but it would be nice to have a few more "at a glance" things as you mention.
I'm also a software developer, and I'd be curious to look at your app. What are you using to write it? Sounds like it's a Windows app? Are you using .NET? C#? C++?
I'd be happy to help test. Hopefully you'll make a Mac version . While I have a Mac, I have a few Windows VMs so that I can use Windows apps.
Good luck!
Ben
In short, to have a "collaborator mode" would be absolutely invaluable.
[This message has been edited by InarticulateBabbler (edited December 19, 2008).]
Troy - that's a neat idea about the scene cards, and one that I could feasibly implement. How much do you organize your writing by scenes? I've never really paid much attention to them, having the chapter as the "fundamental unit" of my stories.
Tiergan - I have indeed used yWriter, and it comes closest (of all the free programs that I've tried) to having the set of features I want to implement. It imposes a little bit much for me, though, when it comes to importing existing works. I hate having to format my own stuff more than just changing the files from .docx to .rtf. I also had importing issues where things got cut off, and there were just a handful of annoyances I had in working with it that made me want to try and implement something my own way .
benmackay - I've never tried Scrivener before. Downloading now. I love to see all of these different tools that people are mentioning. I'd be happy to share my tool as soon as I get it up and running. It is a Windows app -- I'm using this to help solidify my C#/WPF skills that I need for my job (writing windows apps), so in this case it didn't make sense to go Java for the portability. One other thing I'm focusing on is design, and mucking about with design tools (I have a copy of Expression Blend V2 that I'm dying to have a good use for). I'm not sure how well the Mono project works for allowing WPF on Unix/Linux/Mac systems.
InarticulateBlabber - A collaboration mode would be interesting. I take it you want to have chatting capability as well as shared diagrams & notes. I'm not sure whether or not that would be something easy to implement. I don't plan on this being a server/client app, but perhaps a peer-to-peer sharing could be done. I've never written an app that works that way, so it might be a good learning experience. At first I'm going to focus on making the client work as well as possible before attempting a sharing system, though that does sound cool. I am keeping the data in an easily sharable format, though, so that may ease the issue as I go forward.
Also... I spent some time working on tools for artists, and got kind of addicted to putting a lot of thought and polish on the UI (this is very different from adding as many features as possible via the UI).
These days I use VSTS 2008 w/ Team Explorer... so... yeah, that's pretty far from vi. Not that I don't respect it.... but I think I'd go insane if I tried to use it for writing.
Now that I'm thinking back to school days -- was vi or vim the one that didn't have even basic visual editing, like the ability to press the "Up" key and go up one line (you had to go left, backwards, as far as you needed - it had no concept of lines). I vaguely recall emacs as being more like notepad+ (with far less suck), in that it at least acknowledged that you were looking at a page of things, and directions like up and down had meaning.
quote:I am using a full version of WriteItNow and it meets about 90% of my needs as far as organization and brainstorming.
Have you looked at the demo for WriteItNow
The biggest flaw that I have found so far is in their calendar/timeline functions. It is limited to AD or BC date settings and a 24 hour clock. There is no system for any manual manipulation of individual timeline durations without manually changing the date and time stamps on the particular events you are working with.
Some form of interactive drag n drop or manual adjustment of these timelines would be absolutely brilliant.
The word processor portion of it is a word processor. I type, it displays. No bells, no whistles. Good enough for draft copy and edits at least, but a copy/paste to some good layout software ( I use InDesign and/or Illustrator) is necessary for proper print prep.
I would recommend an option for something similar.
The second thing it has, which is nice, is an option for typewriter sounds. When you're typing, it'll make the sounds of a typewriter. I know it might sound odd, but I personally find the sound very soothing and helpful when writing.
An option like this would be a great extra. Obviously it would have to be an optional feature, as not everyone would enjoy it.
There are unfortunately some major things Q10 lacks. I typically only use it for blotting down ideas, and doing quick rough writeups.
[This message has been edited by Gan (edited January 13, 2009).]