We need to have a model to make a protocol or software implementation: technical consideraions aside, we need to think about this:
What is a post/dent/update? Just plain text? Or HTML (which subset of it)? Some kind of Wiki markup? Or anything, with content negotioation, HTML/text being required? Is there a character limit? If yes, is there some other category of "post" I can use if I'm over the limit – blog post, journal – and how does that work? Can I share links, photos, videos, PDFs, mp3s, 3D models, Javascript webapps? Any considerations about bandwidth (videos allow alternate link to Youtube/other site)? Legal issues? What metadata does a post have? Can it be shared/re-posted? By whom? How do we prevent unauthorized sharing? What metadata gets shared? Can I comment on anything I can see? Who sees my comment, who gets notified of it? Does it get attached to the original post? What is the comment, anyway – a first-class post, or something specific? If something specific, can I comment with rich text? A video, song, an executable program? Can I recommend something to someone else? Add a personal message to that recommendation (a private-r version of "comment", maybe)? Do we want to support aggregator websites that for example make a gallery out of all/some pictures recommended to them? How does privacy tie into all of this? How do private messages work? Can I message just anyone? What about spam? If some private messages are blocked, how do I contact a new friend for the first time? What is an user? A relationship/friend/follower? FOAF has some answers here, is that enough? If I'm a celebrity, can I separate my public and private profile? Can I still have a single login? Can I have my PR guy put stuff on my profile? And back to the second sentence: we really need to think about terminology, too. Feel free to ask more questions, these are probably pretty biased towards the model in my head.
