Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Messaging re-invented

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 app
Octocat-spinner-32 config
Octocat-spinner-32 db
Octocat-spinner-32 doc
Octocat-spinner-32 lib
Octocat-spinner-32 log
Octocat-spinner-32 macgap
Octocat-spinner-32 public
Octocat-spinner-32 script
Octocat-spinner-32 test
Octocat-spinner-32 vendor
Octocat-spinner-32 .gitignore
Octocat-spinner-32 Gemfile
Octocat-spinner-32 Gemfile.lock
Octocat-spinner-32 LICENSE
Octocat-spinner-32 Procfile
Octocat-spinner-32 README.md
Octocat-spinner-32 Rakefile
Octocat-spinner-32 config.ru
README.md

Hermes

Hermes was a re-think of email, to make it more conversation based, and move to a HTTP based protocol. The app included some novel things, such as an asynchronous UI, and automatically filtering of any automated emails. It's now been released under the MIT license.

See the blog post for more information.

Interesting parts

Server side:

  • Using Juggernaut to make an app realtime
  • Receiving and parsing email signatures
  • Detecting email sent by a computer
  • Modeling messages and conversations
  • Using the Twitter API
  • JSON/Ajax API (docs/API.md)

Client side:

  • Spine web app
  • Overlays and CSS transforms

Demo

http://maccman-hermes.herokuapp.com/

Hermes

Installation

Requires:

  • Ruby 1.9.2
  • Bundler

Installation:

  1. bundle install
  2. rake db:setup
  3. Set env variables
  4. rails server thin
  5. http://localhost:3000

ENV Variables

Hermes requires a few services to be available in order to function correctly.

  • Twitter
  • Sendgrid *optional
  • Google *optional

To use these services, you'll need to set the relevant ENV vars containing credentials before you boot up the server:

export TWITTER_CONSUMER_KEY=foo
export TWITTER_CONSUMER_SECRET=blah
export SENDGRID_USERNAME=blah
export SENDGRID_PASSWORD=blah
export S3_KEY=blah
export S3_SECRET=blah
Something went wrong with that request. Please try again.