You learn a lot about yourself when launching a new project. Three days ago we launched a new shoutbox for our forums, making use of modern and lightweight technology. We've already learned a lot from this experience, but do you know what jumped out on day one? Apparently, that we are hipsters.
Maybe we don't dress like hipsters, wear skinny jeans with bright colors, have interesting hair styles, wear lumberjack beards or any of the other things attributed to hipsterism.
With this in mind, we specifically selected these so-called "hipster" technologies for the Memebox#, because they are the right tools for the job, not because they are "cool."
Real-time Many of today's browser-based chats lack what so many "traditional" messengers got right, real-time communication. Our vision is to connect people through words and memes, and as any gamer will tell you, that is best accomplished through real-time interaction. Thankfully, HTML5 offers a solution for this as well - WebSockets
WebSockets give us a quick connection to the server, but messages need to relay even more quickly. Our solution has been Node.js because of its non-blocking, event-driven nature. Node.js can be extremely fast when used correctly, and we've seen it fly for our use-cases.
Scalable Since PlaySharp is a massively visited website, we needed our shoutbox to scale with it as the user-base expands. Node.js is again an ideal choice as the asynchronous framework is capable of handling large numbers of concurrent players without a sweat, and we can fairly easily split it off into multiple nodes. The entire Memebox# runs on a small amazon AWS instance.
Functionality Featuring the new shoutbox we also added tons of new commands and features, including but not limited to: Starting giveaways, votebanning users and tons of stuff for our meme-friends. Using the command "/help", gives you a list of currently available commands.
List of available commands /clear - clears the shoutbox (clientsided) /edit <message_id> <content> - edits a message /feedback <message=""> - Sends feedback regarding the shoutbox to the administrators /giveaway <start> <time=5> <stuff> - starts or enters a giveaway /insult <user> - insults a person /join <channel_name> - joins a channel /ladder - helps building a ladder /lenny <message=""> - adds a random lenny face ( ͡° ͜ʖ ͡°) at the end of the message /shrug <message=""> - adds a ¯\_(ツ)_/¯ at the end of the message /voteban <user> - starts or enters a voteban poll
PS: We are pretty sure we have the best IPBoard shoutbox available now!