Notes

Each Squawk will have the following information:

  • Owner (Name)
  • Time (Epoch)
  • Message (140 characters)
  • ReplyTo (Name)
  • Related (Names)
  • Trends (Terms)

Each User will have the following lists:

  • Follower
  • Following
  • Blocked
  • Pending (Requests to follow that you haven't acted on)
  • Requested (Requests to follow that you have made)
  • Privacy State

A user can only request to follow an online person. Requests can be approved on or offline, but the initial request must be made online.

When a user makes a request to follow a private user, the subsequent paths occur:

  1. Followee is added to Settings.Requested
  2. Followee receives 'follow request' -> (their) Settings.Pending
  3. Followee acts on request -> (their) Settings.Pending cleared
  • Follower is online
    1. Follower receives 'request accepted'
    2. Added to Settings.Following and cleared from Settings.Requested
  • Follower is offline
    1. The next time Follower is online and recieves a Squawk we check if there is a Settings.Requested for that name, and if so assume they have approved and clear/add records appropriately.

For updating, there can be a few methods.

  • Guild open: you're not private, you broadcast to the guild your last X squawks on login
  • Followers: If you login and are following people, you send a request to them directly upon login (after a brief pause to load everything) to get the last 5 tweets from them. You also broadcast your last 5 tweets to them.

Problems inherent in the system:

  • Number of transmissions if Follow group is large.
  • Guild transmissions in large guilds, how do we get the information of people who have already logged on previously without being spammed?
    • We send a request for a guild listing of people using the addon and then go through that list requesting the last 5 of each user one by one.
  • Transmission must be able to be delayed if sender is in combat.

I think I will disable the current private user functionality for the moment. Everyone in the guild will be able to see everyone else's Squawks, and only the interuser follower lists will allow for communication past the guild.

I guess I could make it a custom channel, so people can dedicate their own clouds of users for squawk communication, ie, have a default SquawkChannel, but allow users to change it to their own custom channel. Custom channels will have free reign in communication between participants, the default channel will only pass on search requests and the like.


Comments

Posts Quoted:
Reply
Clear All Quotes