Jen-Cheng HuangVinit ShahMike Wilt
CS8803—Advanced InternetApplication Development
Prof. Ling LiuSpring 2008
A new architecture for online forums
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 revenuemodel to support the service
Motivation—Part 1
• Improve communication within GT community
• For prospective students(especially internationalstudents)
• Interdepartmentalcollaboration
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 Chat Msg Board
Participants Two, typically Many
Feedback InstantStatic, requires page
reload
RelationshipPeople you know in
real lifePeople with similar
interest(s)
After you leave…Conversation disappears
Thread remains
ExamplesAIM, 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>
Clients Check the Cached ValueEvery 1000ms
One client inserts a new message into the database.
A new result is cached.Clients Detect the Change in Cached Value.
The clients query the database andthe new content is returned to the
client.
Back to Checking for Updates.
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 Subscribe too the Server.Client updates the contents.Server Published the Updates.
CPU Usage
Traditional Polling vs. Comet (Orbited)
75 users
10-15 users
(performance decrease)
5-15 usersComet (Orbited)
Polling
Polling
Shared server running Ubuntu with 325MB RAM
Questions
• Contact info:– Mike Wilt ([email protected])– Vinit Shah ([email protected])– Jen-Cheng Huang ([email protected])