[wishlist] Add Plurk support to Gwibber
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Gwibber |
New
|
Undecided
|
Unassigned |
Bug Description
Plurk is a microblogging service with a threaded message model (not unlike a forum), and is generally thought to have wider adoption than even Twitter in some parts of Asia. It is also a de facto offline meeting place for many users of the virtual world Second Life, regardless of their real world location.
The limit for a Plurk message is 140 characters, and the API is basically to send HTTP requests, grab the response (which is uncompressed JSON), and parse it according to the Plurk API: http://
There is already a Python library for Plurk called pyplurk, but it only has one checkin in December 2009: https:/
Unlike Twitter and Identi.ca, where messages are organized by textual hints (# tags and @ usernames), the web-based Plurk UI has a proper concept of a top-level plurk, when someone writes something on their timeline. Below each top-level plurk is a list of response plurks, but the maximum level of nesting is 1; i.e., it is not an arbitrarily deep hierarchy.
In the Plurk API terminology, these are divided up into "plurks" and "responses". A plurk is a top-level "thread" (in the sense of the term used in forum software), and a response is another message (up to 140 characters) directly associated with exactly one plurk.
The threaded model of Plurk may present some interesting challenges for Gwibber if there is not already infrastructure in place to handle threaded message models. The way the web-based Plurk UI works, a user's "timeline" is displayed as the list of all the top-level plurks of the user's friends. The user can then click on individual plurks to view the responses.
It may be possible to present the user's timeline "flattened" in Gwibber, as a stream of both top-level plurks and responses. But the best possible solution would be to have a tree widget (in the sense of GtkTreeView) to represent the hierarchical nature of the plurks and responses.
Finally, Plurk has two social statuses: "fans", and "friends". Becoming a fan of another user adds that user's messages to your own timeline, whether or not that other user approves of you. "Fanning" is not mutual. Friending someone, on the other hand, is mutual: a friend request is sent, and then responded to with a yes/no answer, the yes option making both users friends of each other. It is possible for a user to hide their timeline from all but their mutual friends, which also means that user is incapable of having fans.
Hopefully this domain description of Plurk will help the developers determine whether Plurk is a good fit for Gwibber.