Project Idea: Scrollr

I want an application for better note-scribbling. Something like this may exist, and I don’t have time to code this up myself, so I’m lazywebbing this.

The app should be in a single window, with three panels: the top is a simple toolbar, which at least has a search bar. The main panel is the bulk of the real estate: it is a contiguous list of dated entries, all of them in a scroll pane. Each “entry” has a form:

Sunday, March 3, 2007

((that is, the date of the entry))

Free-form text is in the middle. You can specify different font styles and colors

.

Tags: a list of editable tags

This list contains all entries ever written; the primary interface is scrolling (other interfaces for navigation would be keyword searching (using the bar in the toolbar), "jump to date" (maybe also in the toolbar), etc.). The third panel sits on the right of the main panel (or on the left; this is best accomplished with the "drawer" interface on OS X) and presents a condensed view of everything: dates that have entries, maybe with an indicator of the length or paragraph layout of the entry (or a thumbnail), and maybe with tags that entry has associated with it (or some UI element where you specify a "crucial keyword," a phrase that sums up the entry, and that is displayed in the summary list).

You interact with the entries just as though they were text. You can edit, copy, cut, and paste as much as you please (even with older entries). You can also select text from an older entry, and execute a "snarf" command, which essentially copies the selection, then pastes it at the end of today's entry. You can also "snarf" an entire day's entry, pasting it into today's entry. You can also insert hyperlinks to anywhere in the note list, and can (of course) add hyperlinks to other sites.

Lastly, it will have some mechanism for synchronizing notes between computers. Plugging in to the .Mac sync thing would be great, but I don't know how possible that is. Maybe instead it could call out to rsync, syncing to a common, user-specified point. Best would be a "never overwrite" sync, where if there are conflicting changes made on different computers, you just get a Frankenstein monster entry, containing the differing content (like, on a paragraph resolution) in the entry, with some kind of annotation.