I'm implementing a generalized action authorization API inside LiveJournal .... anywhere in LiveJournal now I can (1) set an action to be done later, if a user approves, and I can (2) test if an authorized action is valid given the authcode. I sorta did this already in the email confirmation step when you created a LiveJournal, but the problem is sometimes people would double-click the "Create Journal" button and I was unable to cleanly synchronize the new creations, and the regcode would be set twice, and only the last one would be remembered, and new users couldn't confirm their email address. (note that everybody but that on LiveJournal is double-click safe... if you accidentally double-click a button, LiveJournal won't do an action twice.)
Anyway, the point of this is that I can now do a lot of things easier:
And more fun stuff later. My goal for the next week or so is to clean a lot of the LiveJournal code. When projects grow quickly, there's a tendency for the code to get ugly and unmaintainable ... every once in awhile I like to sit back and just clean everything... it helps out for maintainabilty, performance, and I usually fix some bugs in the process.
- better email confirmation
- one-click unsubscribe from email newsletters (coming in the next newsletter)
- authorizing new friend relationships (eventually)