Distributed Microblogging UI ideas for DevHouseBoston
Jun 27th, 2008 by JoeC
This Sunday, June 29, 2008, I will be attending DevHouseBoston. I’ve proposed a project called Distributed Microblogging. My primary goal for the day is to get a UI defined. If we can prototype something, so much the better, but I think the discussions going on in the online community really need to have some attention given to exactly what microblogging is, as opposed to how to do it. Many “how” proposals miss important requirements or add what I consider unnecessary ones.
So I’ve been putting together the following list of what I consider to be important features that a good microblogging function should have. In most cases, I’ve approached it from how it should appear to the user. If you are coming to DevHouseBoston on Sunday, you might want to read this list over and come prepared to argue the merits of different points, add your own, or if you’re a UI designer, contribute to a discussion of how to design a UI that incorporates these features.
Remember that one of the benefits of an open system is that there can be many different UIs to choose from!
So, following, is the list in a very raw and unpolished form.
Note: DMB means Distributed Microblogging.
Feature list for dmb UI
Omnipresent replies, direct messages tabs or buttons.
Tags on other microblogs, on posts, on other tags?
Direct support for conversations, replies, etc.
Main page. Like twitter. Update input box at top, but maybe with separate scrolling list of stream.
Multiple streams showing, replies, all, selected person’s archive, including user’s archive.
“Hide” check boxes for each user. Clicking it removes their updates from stream list, and places their name in the a “hidden” list for easy reinstatement.
Also would be able to show/hide certain groups.
Conversation support. Each tweet would have a “reply” button. Clicking it would add the @user_name to the beginning of the update, and also make a database entry linking the update to one or more previous updates. The @’d user names would be like the “to” list on an email. Each update could have multiple other updates it was in-reply-to. This is a many-to-many relationship. An update can be in response to multiple other updates, and clearly an update can have many responses to it.
Updates have GUIDs. Required by IMPP.
Tabs for different subsets of users = from Mike Gaines. “tag-tab”
Separate input area for different tag-tabs.
Topics for User experience
Conversations. What can you do? How are they shown?
Multiple addressees (like email?)
Latest on top or on the bottom? User pref?
Classes of messages
Direct
Narrowcast (to a group tag?)
Broadcast (or is this simply to all tags?)
Temporary silencing (show/hide checkbox) So I can turn off someone who is usually ok, but is just ranting or something.
Ad-hoc grouping. Drag users into a tab where you see only their tweets.
Public ad-hoc groups. All your followers can see tweets. You just filter locally.
Private ad-hoc groups. Just the people in the group see the tweets.
General question.. will adding private groups destroy some of the vibrancy and serendipity of Twitter?
How to present tagging in the UI so it’s intuitive with what it does for the user, as opposed to a geeky abstract function?
What can be tagged, and hence grouped? Users, convos, even other tags? Locations? languages? specific tweets having to do with a certain subject? others?
Universally unique tags vs. private tags. UUtags would be very helpful for organizing large tagging efforts. But, how to agree on a tag for say, “SocialMediaBreakfast8″?
theRQ would be great to be able to send/post an out “out of stream” message to someone that they get upon login- wouldn’t age off. (subject to spam abuse?)
Search – Let Google do it? What about private mblogs? Can individual servers be expected to support a general search capability? Thru XMPP? Thru HTTP?
Show me when I have new, unread DMs.
Multiple addressees for DMs. Now it’s beginning to look like email.
Show me when I have new, unread messages.
Show me when I have new, unread messages from specific people or groups. (on that tag-tab?)
Auto-update (ala chat) vs. manual update.
Rich content. Photos, audio. (How to transmit to mobile devices?)
How to add these features without sacrificing the simplicity?
A few lines when you request to follow, so you can explain why. Either that or a listing of common friends on different sites.
What about the Twitter community? Can it be made part of DMB? Can we build an interface to Twitter? Will Twitter participate in DMB?
What about other communities that start up? Twitter has very amorphous sub-communities.
Implementation questions:
Use XMPP archiving or external? (some xmpp archiving options not applicable, like off the record, although they might be of interest)
How to do multiple servers?
How to map mb posts onto “collections” in xmpp archiving. Another reason to use external archving?
If we did external archiving it would relieve the burden of archiving on servers that could be used. Although they’re more likely to support archiving than pubsub.