/ospriet

An example audience moderation app built on Twitter

Primary LanguageJavaScriptApache License 2.0Apache-2.0

Ospriet — An example audience moderation app built on Twitter

Ospriet is a moderation tool that allows for audiences to post and vote on questions/comments for talks, presentations, and events. The application is written in node.js, uses MongoDB for database storage, and is designed for deployment on nodejitsu.

Motivations

Why open source it?

  • Several people asked for the source after SXSW 2012 to implement the application for their own use
  • The app serves as a good example of building upon the Twitter platform
  • Everyone can now use it and help improve the code base

You can view an example of the site powered by the application used at a 2012 SXSW panel at http://designfromthegut.com.

For more information on the origins of the application, read this post.

Overview

Ospriet allows anyone with a Twitter account to submit a question or comment, by posting an @-reply to a Twitter account dedicated for an audience-oriented event. The submission will be reposted to the event's account, with attribution. Audience members can vote up the best submissions by favoriting the submissions on the event account. Ospriet will then keep track of all of the favorites and provide the top submissions. Ospriet provides one single, simple interface for all of this that audience members can use on most devices.

As an example, let's take the event account of @dftg and submit a question.

@dftg: What are your thoughts on Apple’s approach to design?

This tweet will be reposted by the application to @dftg as an @-reply to your submission, and look like this:

From @couch: What are your thoughts on Apple's approach to design?

Anyone can then favorite that reposted tweet, and see the top favorited submissions on the site.

Setup

Please refer to these wiki pages to download, customize, and deploy your own instance of Ospriet.

Libraries

Server-side

  • Matador for MVC app structure
  • ntwitter node.js wrapper for Twitter API
  • mongoose node.js wrapper for MongoDB
  • socket.io for real-time updating of client-side UI

Client-side

Screenshots

Main index view
Ospriet primary view

Presentation view for projector/screens
Ospriet presentation view

Responsive layout for mobile
Ospriet mobile view

Issues and Contributions

Have a bug or contribution? Create an issue here on GitHub!

https://github.com/twitter/ospriet/issues

Versioning

For transparency and insight, releases will be numbered with the follow format:

<major>.<minor>.<patch>

And constructed with the following guidelines:

  • Breaking backwards compatibility bumps the major
  • New additions without breaking backwards compatibility bumps the minor
  • Bug fixes and misc changes bump the patch

For more information on semantic versioning, please visit http://semver.org/.

Authors

Bill Couch

Dustin Senos

License

Copyright 2012 Twitter, Inc.

Licensed under the Apache License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0