shout is a service to let organizers of a group send push notifications its subscribers.
Keep up with things you are enthusiastic about. Participate when and where participation is needed.
Use shout to subscribe to groups you are interested. Receive notifications from their organizers, on your phone and in real time.
Inform and coordinate people immediatly. Reach and motivate others enthusiastic about what you care about.
I'm working on support for installing globally. Right now, you should use Git.
git clone https://github.com/derhuerst/shout.git shout
cd shout
npm install # dependencies
Redis needs to be installed.
If you want to run the redis-server by yourself, adjust the config appropriatly. You can also let shout take care of Redis:
npm run start-redis # to start Redis as a daemon
npm run stop-redis # to stop the daemon
To just run shout in foreground:
npm run server
To run shout as a daemon, using forever:
npm start
To stop the daemon:
npm stop
People want to receive notifications about things they are interested in. For example:
- They might want to help refugees in Berlin, but don't know where, because the demand for helpers changes every day.
- They might join a demonstration. Getting to know where the people are right now is difficult and often they have to refresh Twitter contstantly.
- There are meetups, flashmobs and happenings all over the city. It's really hard to notice fast enough that something will happen. In addition, effectively, you need to be on Facebook, Meetup, Twitter (and check dozens of hashtags) and Foursquare and therefore get a lot of noise.
There are tools for this like Facebook, Twitter, GitHub and blogs. But all of these are either for long-term things (like joining a group on Facebook) or not realtime enough (don't provide push notifications). Many people have notifications turned off for Twitter & Facebook, simply because the noise level is too high, simply because they don't want to go through all the selfies, game invitations and spam.
Let's create a service that enables people to do just one thing: To get notified what happens in certain groups. For this we need two things:
- A website where people can create a group and – using a key they get – send messages to all subscribers in realtime. No accounts, no emails, no admin panel.
- An app that people can download. They can subscribe to groups by clicking on an URL-schemed link in order to receive push notifications.
There are soo many services for push notifications, but they all have shortcomings.
- They require an account or a complicated setup, raising the entry barrier and therefore hinder adoption.
- There are white-label services targeted to developers who integrate them into other apps & services.
- There are services targeted to paying, commercial customers.
- There are services newsletter companies like MailChimp, but again, newsletters are far too noisy and not realtime enough.
- There are chats, IRC and so on, where the complexity of following a group is too high (and noise is a problem again). The barrier is too damn high.
shout uses shout-orm
as database layer, which responsible for any communication with Redis.
shout-api
is the API server.
shout-dispatch
sends push notifications to devices.
hapi powers the web server. All templates are written in plain CoffeeScript.
If you have a question, found a bug or want to propose a feature, have a look at the issues page.