Thought everyone might be interested in this - I did a little exploring (because it beats studying for exams). To the left of that list in the source code, there is a list called "privacyData" and after it is another string of user IDs, not coincidentally, all my friends (family members) I have blocked from chatting me or interacting. These ID numbers are listed as "13656xxxxx":-1, presumably assigning them a value of -1 each.<p>This suggests to me that the magic algorithm is assigning users a value from -1 to 1, with the more positive ones more likely to appear in chat. Between the privacy list and initial chat friends is this string of code:
"ordered_list.available_target":0.85,"ordered_list.top_friends":5,"sidebar.min_friends":7"<p>This suggests to me that it's (1) searching for friends that have a value higher than .85, (2) always placing the top 5 friends from your initialchatfriendslist in your top half chat sidebar, and (3) always keeping at least 7 friends above the fold in the chat sidebar.<p>Finally, there's an input for "sound.enabled: true". Interestingly, after I turned chat sounds off, logged out and logged back in, it had not updated to "false" yet. This suggests to me that by monitoring when that flips, we can figure out how often the initialchatfriendslist is updated.