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)