Chris Ward

Entrepreneur. Coder. Designer. Marketer. Innovator.

Facebook-centric Apps - why bother? (Part 2 - User Types)

posted on 10 January 2011

Following the reasons for wanting to build a Facebook-integrated app, we're going to need to define the user roles and associated rules for the two different instances of the app.

This is where things start to become a bit confusing!

Types of users entering directly from the site;

  • AnonymousVisitor
  • AnonymousUser
  • RegisteredUser

An AnonymousVisitor is a visitor that's accessed the app, but we know absolutely nothing about.

An AnonymousUser is a visitor that's chosen an available username. The username is not stored, but will remain a unique identifier for the remainder of the session, to avoid conflicts in the application.

A RegisteredUser is a user that has decided that they enjoy the network and would like to further explore the other features and services. They will have the ability to reserve a username.

Types of users entering from the Facebook application;

  • FacebookAnonymousVisitor
  • FacebookVisitor
  • FacebookUser
  • RegisteredUser_Facebook

A FacebookAnonymousVisitor visits from Faceboook for the first time and will be immediately asked for permissions from the application.

A FacebookVisitor is a visitor that has given the application permission to access their details. The details are to be stored and the username temporarily reserved.

A FacebookUser, is a visitor from facebook that has chosen a username and is now using the app.
For seamless user experience, a returning facebook user will enter the chat immediately with their previously reserved username.

The RegisteredUser_Facebook user type is a visitor that has sucessfully signed up to the main site, but has also chosen to integrate with their Facebook account.

Pretty crazy eh? Believe me, blogging about this helps! lol

package com.chrisbward.domain {
	
	public class UserType {
		
		public static const ANONYMOUS_VISITOR:String		="anonymous_visitor";
		public static const ANONYMOUS_USER:String		="anonymous_user";
		public static const REGISTERED_USER:String		="registered_user";
		public static const FACEBOOK_ANONYMOUS_VISITOR:String	="facebook_anonymous_visitor";
		public static const FACEBOOK_VISITOR:String		="facebook_visitor";
		public static const FACEBOOK_USER:String		="facebook_user";
		public static const FACEBOOK_REGISTERED_USER:String	="facebook_registered_user";
	}
	
}

            

chris.