July 18th, 2005


(no subject)

I've started sketching out ljNotes, the functional successor to LiveJournal's todo list which will integrate itself into your LiveJournal.

This ties together a few threads that have been drifting around up top lately (read the last half) and a little request. Now that I've had a coding hiatus up north, I think it's a good time to get some feedback.

Here's how it works:
  1. Joe, a LiveJournal user, is unhappy with using the ToDo interface. He wants something that fits elegantly into the blogging paradigm with all the extensibility of a true memo-pad application.
  2. Joe finds ljNotes and decides to register. He registers using his LiveJournal account name and password. JavaScript calculates and passes the MD5 hash of his password, which is stored in-database for use in the challenge/authentication scheme available for XML-RPC. Joe's password is never stored in plaintext anywhere, so it could never be used to alter a user's settings or delete their journal in the event of database compromise.
  3. As soon as his account is registered, ljNotes creates Joe's management interface - a cleverly designed entry, dated for the future and hidden as private. Through this interface, Joe adds his first note. The form's data is sent to a remote server and processed; Joe is silently authenticated via a special hash that is hidden in the entry's form, invisible to Joe and any attackers, updated regularly to compromise in the event of intercepted communication.
  4. Depending on the duration and notification preferences for the note, ljNotes can proceed in a number of fashions: firstly, if the note is a simple memo, it is appended to a special memopad entry, also private and future-dated. If, however, it is a reminder or scheduling note, ljNotes will create a new entry for the note when requested; cron scripts ensure accuracy up to the half an hour.
  5. If the note is a simple memo, Joe can delete it through a form embedded in the memopad entry. If it is a reminder or schedule, however, the note may delete itself after a certain duration or be manually removed just as a simple memo.

Everything is controlled through forms in LiveJournal entries and remote PHP/XML-RPC. All necessary user and note data is stored in-database for editing and cron access. Down the road, there will be plenty of room to tweak note privacy settings, scheduling features, labeling, etc.

This is obviously just a sketch, but the point is that this is for users, and, thus, it would help if I knew what you users wanted! So the first step is obviously to discuss any concerns, suggestions, or excitement the proposal might stir up in you. If you have a little more technical knowledge and wouldn't mind putting in some time to help, send me an email too. If there's enough interest in helping out, I might be motivated to set up a SF account or CVS/SVN server. Thanks!