A new architecture for online forums Jen-Cheng Huang Vinit Shah Mike Wilt

advertisement
A new architecture for online forums
Jen-Cheng Huang
Vinit Shah
Mike Wilt
CS8803—Advanced Internet
Application Development
Prof. Ling Liu
Spring 2008
Objectives
• Design an online forum that is fast,
responsive and scalable
• Enable users to create and customize
their own forums
• Host forums for free
• Develop a sustainable revenue
model to support the service
Motivation—Part 1
• Improve communication within GT
community
• For prospective students
(especially international
students)
• Interdepartmental
collaboration
Motivation—Part 2
• Improve usability of traditional online
forums
• Lightweight but functional
“Fast and fluid like a chat room but
stable like a traditional message board.”
Traditional Message Board
Traditional Chat Room
Chat Applications
Chat Application vs. Message Board
Attribute
Participants
Feedback
Relationship
After you leave…
Examples
Chat
Msg Board
Two, typically
Many
Instant
Static, requires page
reload
People you know in
real life
People with similar
interest(s)
Conversation
disappears
Thread remains
AIM, Google Chat,
Yahoo! Messenger,
MSN Messenger, etc.
phpBB, vBulletin, EZ
Board, etc.
Popular Forum Software
Features so far…
• Instant form validation, log in and new
user registration
• CAPTCHA test
• Create thread without reload
• Board updates automatically when others
post
User name: jimbo
this user name exists!
Features so far… (con’t)
• User profiles
• Moderation/rating system
• Simple emoticons and markup
• Cross-platform compatibility
• “Traditional polling” Architecture
<no script>
The clients
query the
database
and
Back
to
Checking
for
Updates.
Clients
One
Clients
client
Check
Detect
inserts
thethe
a
Cached
new
Change
message
Value
in
A
new
result
is
cached.
the new content is returned to the
into
Every
Cached
the1000ms
database.
Value.
client.
Demo!
• Part 1
– New user registration/verification
– User Profiles
– Text formatting
– Moderation system
• Part 2
– Class participation :)
– Go to http://www.buzzpost.net
Things to do…
• Integrate features from two versions
• Add private
messaging feature
• Use Comet instead
of traditional polling
• More scalability testing
• Launch test communities
• Alternate layouts/“skins”
Clients
Server
Client
Subscribe
updates
Published
the
toothe
contents.
theUpdates.
Server.
CPU Usage
Traditional Polling vs. Comet (Orbited)
Polling
75 users
(performance decrease)
Polling
10-15 users
Shared server running Ubuntu with 325MB RAM
Comet (Orbited)
5-15 users
Questions
• Contact info:
– Mike Wilt (mikewilt@gmail.com)
– Vinit Shah (vinitshah1@gmail.com)
– Jen-Cheng Huang (tommy24@gatech.edu)
Download