User Add ons for the My Activity tool
These are my notes. Not everything I am talking about I have fully worked out. If you see blocks of questin marks I've not made up my mind yet.
There exists as many possibilities for what should be listed in the suggestions list as there are people on the planet. Rather than be mean and stop ou making stuff up I'd like to let people customise and interact with the tool. This means of course that you might write your own tool or, if not you, some other bright soul. All the more for us to play with.
There are two ways that I imagine people will be able to play with the tool:
- My Activity XML
- My Activity Endpoints
My Activity XML (aXML)
All activites are HTML rich snippets that area ready to sit inside a <li> tag pair. They can also have a defined class. (See my notes on custom bullet points.)
You can forego the list item possitioning (best for inline only) and get yourself a big square (say, for example a FaceLink box) by marking the suggestion as [???????]
The XML is very simple. A root tag (by default aXML) and then a suggestions tag (note the S). Inside this will be losts of suggestion tags (note no S). The suggestion should exist as plain text or cdata encoded HTML.
In addition to the suggestions tag there can also be one or more endpoint tags. This should contain a HREF ellement with a URI (with no query string) see endpoints. The content of the tag should describe the endpoint.
In addition to the suggestions and endpoint tags there can also be one or more additional tags. This should contain a HREF ellement with a URI to further aXML files. In time the tool will be expanded to follow these and fill out the suggestions section. These XML files will be aggressively cached for speed. Changes will take a day or so to show up.
End Points
End points work differently. Rather than fetching XML and reading it into suggestions endpoints act like a stop gap giving your system time to chat with your users before sending them back.
The user will be leaving the tool where currently the activity list is saved only on page and transfered by POST. endpoint roll out will necessitate the creation of cookies to save data to.
After the save the user will be offered the chance to leave the tool and go to your endpoint. By POST or GET the endpoint will be provided with a returnpath variable. This is the URL that the user will need to return to when they are done at the end point.
The return should submit a number vairables to the return point:
- iSuggestions[] an array of inline regular suggestions
- bSuggestions[] an array of block or irregular suggestions (such as section titles)
- attachments[] an array of URLS (simple atachments) to attach using FaceLink it will later be upgraded to cope with youtube, pictures, feeds and more
- Complex attachments with comments to come later I hope
- group this will be the title for all the suggestions
- class this will be the class applied to the li
Unlike facebook I'm not going to try and tell you how to format your inline and block suggestions. If your users want ugly then that's what you should give them. I do suggest though that attachments be used where-ever possible rather tha bSuggestions[] just for good consistancy. As such bSuggestions[] will be implimented last.
Why use an Endpoint
Endpoints are good for situations where users should authenticate in order to get a customised expierience.
For example if OneTrueFan implimented the My Activity endpoint they might return a summary of recent badges and true fan status changes.
For example if EarnMojo implimented an endpoint they might provide users with the number of badges one recently or link code links to chosen sites which might win them a badge.
For example if Twitter had an endpoint it would be so users could say "@Username tweeted XYZ..." for each tweet today.
For example if Your Twitter Mush up had an endpoint it might return your links from todays tweets as attachments for your feed sumamry.
For example if your FOAF tool had an endpoint it might return your recently added friends.
For example if Your Facebook App was also an endpoint it allow you to share status updates and links and pictures and stuff that you would then be able to use the tool to post on your blog. That'd be very cool I think.