Basically, I want to introduce the concept of a journal title. Right now everybody's journal title is "Bob's LiveJournal". That's lame.
So adding a title field ... where do we do it: add it to userprop, where it requires a join to get to, or bloat the user table more? (though it should be noted the user table has been shrinking a ton over the past month or so... most things are userprops now)
Proposal: neither. We copy everybody's current name field in the user table to a new realname userprop. Then, we set everybody's current user.name to "$user.name's LiveJournal" or "$user.name Community", depending on what user.journaltype is.
Now, the meaning of user.name is journal name, not user's name, which makes more sense, since the user table isn't really about people anyway ... it's about journals. (it was about people before shared accounts, etc, etc.)
Then to S1 we add new %%title%% fields to the page, replacing all the "%%name%%%%name's%% LiveJournal" crap. Now people can set their title to whatever. Opi has volunteered to go and fix all the S1 styles as necessary. S1 styles that require %%name%% will still be able to use it.... its source will now be the realname userprop, but style authors won't need to know any of that.
One extra detail: If somebody changes their realname, we'll automatically update their journal title to the default if it's detected that their old journal title was the default given their old realname. So they'll be linked, unless you want them different.
The advantage to having the journal title in the user table is that we can then get it everywhere.... directory (yes, coming soon), interests lists, friends listings in clients, etc. Whereas the realname would only be used on userinfo pages and such, where we're already loading userprops so it's not an extra hit.
Disadvantages? I see none. But maybe you see something I don't.