[ANN] www.redblueus.org - New rails app live


#1

Folks,

We’ve launched www.RedBlueus.org, a one-to-one dialogging application
built in Rails that matches users from opposite ends of the political
spectrum to talk about divisive issues. The system is designed to help
users have productive dialogues focused on conversation rather than
debate.

I was the chief (and pretty much only) engineer. Major features:

  1. A simple wiki-like content management system (the client manages all
    pages on the site),
  2. XHTML compliance,
  3. Email reminders,
  4. A DHTML (via prototype) “virtual facilitator” that walks users
    through a set of questions designed to help create productive (rather
    than trollish, knee-jerk) responses,
  5. An Apache 2.2 / mongrel / postgresql 8.1 backend,
  6. A rich admin system,
  7. A performance tweaked rights/roles system inspired by the one in
    Rails Recipes,
  8. Role-based HTML filtering,
  9. A guided dialogue process that essential walks participants through a
    queue-based “workflow”, starting with a set of opening questions, a
    back-and-forth phase and finally a survey about the dialogue and
    “closing comments.”

This was sort of “build to suit” - the scope wasn’t as fleshed out as it
should’ve been at the start of the project. I found Rails to be an
excellent choice in this case because the separation of concerns really
helped me make pretty big changes without a lot of effort.

Observations:

  • It felt like I had a very high probability of my first effort at
    writing code working perfectly - I chalk it up to the orthogonal nature
    of the changes Rails and MVC affords. Orthogonal focus begets quality.

  • Centralizing logic in models and a liberal use of partials was a
    godsend as this project progressed and changes came down the pike.

  • We don’t treat the database as a souped-up flatfile storage engine -
    we’re using triggers, foreign keys, functions and “advanced” postgres
    features to keep the data clean and tidy. The default rails assumptions
    about your database basically being stupid makes this a bit more
    difficult to manage (especially when it comes to testing and
    migrations), but not insurmountable.

This was our first major Rails project. So far, we are very happy with
the results in terms of deployment options, development time and quality
of the code and framework. Feel free to ding me here if you’ve got
questions.

I’ll throw up a link to the press release when we’ve posted it to our
main site. Thanks!

-DJCP
Dan Collis-Puro
Software Engineer
http://www.endpoint.com