Project #3: IntelliWriter

A typewriter and tab-completion walk into a bar…

IntelliWriter Logo

 

Definition

IntelliWriter is a distraction-free(ish) writer’s tool with a few twists. The first is that, like a typewriter, where you are typing stays in the same place while the document moves as you type. This keeps your eyes from having to travel around as you type. I’m not sure if this is actually a problem, but let’s try it out anyway.

Secondly, IntelliWriter will attempt to dynamically bring up suggestions on the word it thinks you are typing. If you see that the current suggestion is the word you are typing, you can simply press tab and the word will complete automagically. This is similar to word suggestions when typing on a smart phone but with a keyboard shortcut for completion.

Lastly, and this might be a stretch goal for the 24 hour timeline, the document will be continuously saving as well as keeping a history of past saves available. The writer will be able to see the draft from 30 minutes ago as easily as seeing the draft from yesterday without having to manually save off new copies. Again, I’m not sure this is actually a problem but it sounds like it might be cool. Engage!

Previous Work

HanxWriter – Tom Hanks’s typewriter simulator is the original inspiration for the centered-cursor feature.

DarkRoom – A Windows clone of OSX’s WriteRoom, is more-or-less the standard for distraction free text-editing.

Write! – A really pretty tool and the only one I’ve found with a solid auto-complete. It builds the auto-complete options from words you’ve already typed.

iaWriter – Another nice tool with a well thought out flow. Also has a great syntactic highlighting feature (adjectives, nouns, conjunctions, et cetera).

WriteMonkey – Slim, light, portable, auto-save with history, and extensible.

Design and Mock-ups

I’ll start with a white-on-black color scheme with a yellow highlight. There is a grand opportunity to support themes, but that can be a nice-to-have after the big features are up and running. Notice in the mockups that the cursor where you are typing never leaves the center of the screen…

A new document
A new document

 

Typing the first sentence
Typing the first sentence with suggestions

 

A tab-completed word!
A tab-completed word!
Editing mid-passage
Editing mid-passage

 

Work Items

I feel a little better about this list for the 24-hour deadline than I did in the last one. There are a few risky areas but I think I’ll be able to leverage previous work for things like the suggestions dictionary and possibly a historical save engine. …we’ll see!

  1. Feature: Typewriter
    1. Text surface
    2. Text surface configuration (e.g. width, font)
    3. Keyboard event handling
    4. Centered text surface
  2. Feature: Suggestions
    1. Engine
    2. Rendering
    3. Tab-selection and completion
  3. Feature: Auto-save w/ history
    1. Simple auto-save
    2. Version tagging
    3. History engine
    4. History browser
  4. Export to text file

Future Work

  1. Spell-checking
  2. Color themes
  3. Responsive to resolution changes (e.g. on-screen keyboard)
  4. Export to Word and PDF
  5. Document statistics (words, characters, read time, etc…)
  6. Focus mode (dim all but current paragraph)
  7. Cloud storage integration
  8. Markdown support
  9. Xamarin port