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 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.”
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 Clients Detect the Change in Cached Value. One client inserts a new message into the database. Back to Checking for Updates. The clients query the database and the new content is returned to the client. A new result is cached.
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.
Polling 75 users (performance decrease) Polling Comet (Orbited) 10-15 users 5-15 users Shared server running Ubuntu with 325MB RAM CPU Usage Traditional Polling vs. Comet (Orbited)
Questions • Contact info: • Mike Wilt (firstname.lastname@example.org) • Vinit Shah (email@example.com) • Jen-Cheng Huang (firstname.lastname@example.org)