Design Goals
by Kyle Carter · in General Discussion · 11/04/2003 (3:43 pm) · 0 replies
Here are some general design goals. I'm throwing them out so we can prioritize/discard/add as needed.
A quick clarification: the customer is the entity buying the community system from us, while the user is the person ultimately using the community system (ie, the game player). There is probably overlap.
Design Goals for the Customer
- Scalable to one million users on commodity hardware.
- Cheap (ie, built on free technologies)
- Maintainable (access to source, built on OS software)
- Low to zero administration. It should be possible to get it up and working out of the box. Even in large-scale cluster situations, it should not be necessary to do lots of configuration. It must be fault-tolerant - if a server craps out, it should maintain service until the admins can deal with the problem.
- Flexible/extensible. It should be easy to integrate with existing community infrastructure (like a website, via RPC), and easy to add functionality.
Design Goals for the User
- Fast, low-overhead, easy to install/use. (The usual laundry list for any piece of software we intend for use by idiots/users ;))
- Moddable.
- MUST provide an OS-integrated interface. gaim/trillian plugins should meet this requirement. People don't want to have to run an OpenGL app all the time to get their IMs.
- MUST provide an in-game interface. People should be able to get messages/check buddy list in-game.
- Robust. Should deal with firewalls and NATs gracefully.
A quick clarification: the customer is the entity buying the community system from us, while the user is the person ultimately using the community system (ie, the game player). There is probably overlap.
Design Goals for the Customer
- Scalable to one million users on commodity hardware.
- Cheap (ie, built on free technologies)
- Maintainable (access to source, built on OS software)
- Low to zero administration. It should be possible to get it up and working out of the box. Even in large-scale cluster situations, it should not be necessary to do lots of configuration. It must be fault-tolerant - if a server craps out, it should maintain service until the admins can deal with the problem.
- Flexible/extensible. It should be easy to integrate with existing community infrastructure (like a website, via RPC), and easy to add functionality.
Design Goals for the User
- Fast, low-overhead, easy to install/use. (The usual laundry list for any piece of software we intend for use by idiots/users ;))
- Moddable.
- MUST provide an OS-integrated interface. gaim/trillian plugins should meet this requirement. People don't want to have to run an OpenGL app all the time to get their IMs.
- MUST provide an in-game interface. People should be able to get messages/check buddy list in-game.
- Robust. Should deal with firewalls and NATs gracefully.