Notes on the upcoming lists implementation. Checkout @shashi's people_tags branch for the code.
 Beta testing
http://statusnetdev.net/g0 is where the latest code is running. You can sign up for a new account and start testing now! Please send any bug reports or feedback to email@example.com or to identi.ca/shashi
Note: if you want to test the federation, we will be setting up sub-domains soon.
Here is a (guess of a) list of things to implement.
- Peopletag as list.
Decide & implement DB schema
- basic caching
- Inbox handling in Notice.php
edittag - description, allow deletion / renaming tag
style peopletag list
- autocomplete for tags -- Branched out
- ajax tag editing -- TODO field specific search
ajax subscription / unsubscription
OStatus subscribe / unsubscribe forms
- OStatus & Feeds
- PuSH feed
- use Salmon to keep track of tags from remote instances.
- use salmon to add/remove subscriptions
API (see twitter api documentation scroll down to lists section)
- List methods (create, update, index, show, destroy, statuses, memberships, subscriptions)
- List Members Methods (index, create, destroy, show)
- List Subscribers Methods (index, create, destroy, show)
- remove need to authenticate where not required.
You can now test the twitter-compatible api at by using http://statusnetdev.net/g0/api as the api path in your twitter client.
 Configuration options
- enable/disable people tags
max tags a user can create (default 100)
- who can a user tag?
- local users
- local users and remote subscriptions
- any OStatus user
- Plugin to allow tagging groups
- Some super users who don't care about twitter compatibility might want this. Plus this gives an opportunity to develop and show off a pretty comprehensive set of plugin hooks.
- local subscribers
- global subscribers
tags (tag, tagger, tagged) -- how best to pack this?
- Some places use the word "peopletags" and some use "people tags" some use "profiletags". Fix this.
- Take time to comprehensively write documentation for every function.
 Manual Tests
- Installation Passed
- Tagging / Untagging locally Passed
- Tagging / Untagging remotely Passed
- No way to figure out private tags Passed
- CacheLog checks with caching enabled Passed
- Tagging / Untagging locally with memcache Passed
- Tagging / Untagging remotely with memcache Passed
- Tag Autocomplete Passed
- @# replies Passed
- API tests Unknown
Things yet to be figured out:
How can peopletags and lists coexist?
lists (on twitter) have a description that go with them, peopletags don't, but peopletags are self-descriptive and cooler. They can also be used to send notices using the @# syntax.
-- let peopletags have descriptions. Send an @# notice to everyone in the peopletag who are subscribed to you as a mention. Basic idea is to keep the ease and awesomeness of peopletagging interface and also the goodness of twitter's list interface.
Should groups be allowed to be included in lists? (they are themselves lists of people). There are a few issues with this:- maybe, a plugin.
- Twitter API compatibility
- Showing both users and groups in the same view
Feel free to discuss!
 OStatus workflow
- New activity verb - ostatus:untag being used
 Discovery and Subscription process
Peopletag represented as a list activity object of person activity objects is the activity:subject of the atom feed.
- Rest of it works exactly like follow/unfollow for groups.
 Tags by remote servers
a tag/untag activity object comes with a "target" which is the peopletag and an "object" which is the remote person being tagged. "actor" is the tagger - garbageCollect user's feed.
 UI Notes
The sidebar is getting too cluttered, need feedbacks and suggestions.
A peopletag list item widget has a (un)subscribe button, statistics: no. of members & subscribers
Profile list item widget will have editable tags with autocomplete.
- Sidebar widgets peopletag mini list:
has a mini avatar, username & tag, statistics on mouseover!
- each item has a height of 50px which is huge and needed to accommodate the avatar
- List of sidebar widgets:
- List of tags with largest subscribers
- Profile page:
- Tag cloud by most subscribed
- Latest subscriptions
- Peopletagsbyuser page
- tag cloud by most subscribed
- Peopletagsforuser page
- tag cloud by frequency