1

My web app needs a private messaging system just like Facebook Messages or Twitter DM.

I found a bunch of stuff that does real-time instant messaging, but they don't store the messages like a typical PM system does.

Plenty of sites/apps has a PM feature, and StackOverflow itself has plenty of questions about designing such a system, so implementing this myself seems like reinventing a huge wheel.

So is there such a service/platform that can be plugged into my web app? Ideally, it should be a hosted platform so I wouldn't have to deal with storing stuff myself.

thatmarvin
  • 2,800
  • 4
  • 22
  • 31

1 Answers1

1

Here are some ideas:

1) Build a table that stores messages as text/blobs, with additional fields for "from," "to," "status," and "date." Build UI to write to/read from this table. Success!

2) Integrate an existing forums system that already has private messages. Cut out the forums part, retaining the private message part. Success!

3) Create an email address per user on the system. Make sure SMTP/POP/IMAP traffic on public interfaces is blocked, so it doesn't escape into the wild. Integrate a webmail frontend. Success!

If you already have a user database, and a GUI framework, and application server, and your community isn't way too big, then 1) is probably actually going to be easiest. If you want something that works right away without having to change much at all, 3) is probably easiest.

Jon Watte
  • 6,579
  • 4
  • 53
  • 63
  • Thanks for the ideas! 1) this (rolling my own) is basically what I did. 2) and 3) are interesting ideas, though I they don't sound any easier than 1) when it comes to integrating it seamlessly into my app. Now after all that, we still need unread message counts, email message notifications, and parse incoming emails for reply-to's. Put push notifications and realtime updates (ala facebook) on the wish list too. Now scaling this is the least of my problems at the moment, but how well will this system work at scale? I'd happily pay for such a platform instead of building one myself! – thatmarvin Jun 26 '12 at 13:18
  • You might consider a new question for those questions :-) – Jon Watte Jun 28 '12 at 01:49