Brad Fitzpatrick ([info]bradfitz) wrote in [info]lj_dev,

ESN, 4 years and 2 months later...

4 years and 2 months after its first introduction, the ESN system is finally under heavy development. You might've seen us working on it a bunch in [info]changelog.

What is ESN? It stands for Event/Subscription/Notification. It lets you subscribe to anything interesting going on. It won't be marketed like that, it'll probably be called "Subscription Center" or "Watch list" or something.

A lot of the implementation details of that old post have changed, but the general idea is exactly the same:

-- tons of things on the site fire events:

journal has a new entry (lj_dev just got this post)
somebody posted (brad just posted to lj_dev)
new userpic (a friend of yours just added a new userpic)
somebody befriended you,
new support request in a category,
....

-- users can subscribe to events (subject to privacy/stalking/etc), or aggregates of events (any of my friends adds a new userpic), filter on properties of the events (only posts in lj_dev tagged "esn"), and then choose which notification method to use:

-- notification methods we're thinking about (won't all be available at launch) include:

website -- online inbox of events (which we also want to allow POP3 access to)
email
jabber
sms
web-service request (HTTP POST, XML-RPC, SOAP) to user-defined endpoint


So think: you can make your own alert flows. Think of it kinda like Automator for LiveJournal.

Anyway, if you're interested in the code, it's at:

cgi-bin/LJ/Event.pm
cgi-bin/LJ/Event/*
cgi-bin/LJ/Subscription.pm
cgi-bin/LJ/NotificationMethod.pm
cgi-bin/LJ/NotificationMethod/*

And there a bunch of tests in:

t/esn*

The plan at this point is to launch with only the post/comment events primarily, as a test, but we'll also have befriended, new userpic, and some other trinket-y ones as a demo. Over time we'll add more and more events, and will also convert all our legacy notification systems (existing emails, support notifications, etc) over to ESN's framework.

If anybody wants to get involved, adding new event types would be the most helpful thing. Maybe somebody wants to convert the support area?
Tags: esn

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    Your reply will be screened

    Your IP address will be recorded 

  • 40 comments

[info]cgvictor

May 4 2006, 08:26:31 UTC 6 years ago

Hmmm... It sounds really cool.
And how about some kind of API for external access?

[info]ashley_y

May 4 2006, 08:45:42 UTC 6 years ago

This is cool, especially as right now I poll http://www.livejournal.com/misc/fdata.bml?user=ashley_y every two hours.

How about events for "posts that were formerly invisible to you are now visible to you" and vice-versa?

Also RSS is an obvious notification method. But watch out: someone might syndicate the RSS feeds back on the site, with wacky recursive hijinks ensuing...

[info]sirielle

May 4 2006, 09:00:37 UTC 6 years ago

Great news about the message center, it sounds like the message center on deviantART :) Will that be free or paid feature?

"Anyway, if you're interested in the code, it's at:"

Does it mean the system is already in beta and we can betatest it? Forgive me if I misunderstood, I'm not native speaker.

[info]sirielle

May 4 2006, 09:03:09 UTC 6 years ago

"if you're interested in the code"

Yes, I think I've misunderstood, I'm no coder; I thought this is code to put somewhere in profile options to test these new features ;) Sorry for the mess!

[info]kunzite1

6 years ago

[info]sirielle

6 years ago

[info]cmotpu

May 4 2006, 09:11:10 UTC 6 years ago

!!!

it's great!

[info]chrisj04

May 4 2006, 09:15:30 UTC 6 years ago

If someone can hook me up with a goathack account (or it's equivalent, if there is one, since goathack seems to be nonexistant these days), I'd be willing to look at converting some of the existing email notifications over -- I just don't have a suitable box to run up the LJ code on at the moment.

[info]juliy

May 4 2006, 10:11:53 UTC 6 years ago

cool!!

[info]sharlei

May 4 2006, 17:29:22 UTC 6 years ago

а как этим пользоваццо то?

[info]juliy

6 years ago

[info]sharlei

6 years ago

[info]juliy

6 years ago

[info]sharlei

6 years ago

[info]juliy

6 years ago

[info]azurelunatic

May 4 2006, 11:23:25 UTC 6 years ago

A very useful event would be for a new or edited response to a poll.

I appreciate that you have said "subject to privacy/stalking/etc", because almost my first thought (after thinking that I need to tell a friend who's been wishing for a notification on being befriended for a long time) was that there would be a great hue and cry from users about the potential for abuse.

I predict that one of the events of great public controversy will be "journal has new entry", with one camp saying that people who want to stalk them will subscribe to this instead of adding them to their friends list, and will be thereby invisible, and another camp saying that there is nothing stopping the would-be stalkers from visiting the journal page in question regularly, and anyway, haven't the complainers heard of an RSS feed?

I would recommend that journal-associated event subscription availability be settable to Public, Friends, Custom Group(s), and Private, much like tagging is now. This would give user-level control, so the people who are Public (like a frog) can enjoy the attention, and people who have concern about people watching their online actions (with or without justification) can control these things.

Obviously site-general events like support requests wouldn't be controlled by users. A user's setting of subscriptions to the event "new comments in my journal" to Friends obviously should not override someone getting notified of a reply to their comment in that journal.

For rollout of user-controlled ability to subscribe to events generated by their journal, I would recommend having them set all the security together, before enabling the ability to set things individually and fine-tune.

[info]triadruid

May 4 2006, 17:04:08 UTC 6 years ago

This is probably a stupid question, but can you just RSS any journal these days? I thought RSS was something the originating website had to enable/make available...

[info]foxfirefey

6 years ago

[info]nikolasco

6 years ago

[info]foxfirefey

6 years ago

[info]nikolasco

6 years ago

[info]foxfirefey

6 years ago

[info]foxfirefey

6 years ago

[info]jai_dit

May 4 2006, 19:55:41 UTC 6 years ago

A very useful event would be for a new or edited response to a poll.
yes please!

[info]theorb

May 4 2006, 12:18:26 UTC 6 years ago

The ability for users to be automatically subscribed to the "new comments to this post" feed for any post on which they comment would be highly useful, I should think. I'd certianly set such an option for... but I don't think I'd want to have to write code to do it myself. (Which would be trivial, given the ability to subscribe to "I have posted a new comment" and an API for adding subscriptions.)

[info]shadesong

May 4 2006, 12:38:54 UTC 6 years ago

Thank you for this! Really looking forward to the "befriended" one...

[info]azurelunatic

May 4 2006, 18:32:25 UTC 6 years ago

Oh, good, I won't have to go confirm the good news with you, now! *points up* That was you I was thinking about. Just too tired last night.

[info]ivo

May 4 2006, 13:34:28 UTC 6 years ago

The notification should of course also include the option to add this notification feed your friends list, either as a LJ native feed or as an RSS feed.

After all, LJ's friends page is nothing more but a fancy RSS reader, with all the external feeds that I have befriended by now.

[info]mkb_cbr

May 4 2006, 15:52:02 UTC 6 years ago

Yes, notifications in the form of an RSS (or better still, Atom) feed would be very useful.

[info]wetzel

6 years ago

[info]phuff

May 4 2006, 17:23:45 UTC 6 years ago

So... Do you just run something that loads up cgi-bin/LJ/NotificationQueue.pm and processes through each user's notification queue in a cron job or something?

[info]mart

May 4 2006, 18:22:45 UTC 6 years ago

Heh. We're running out of things that have been on the todo list so long that everyone's forgotten about them. What's left now? I can't even remember.

I'm looking forward to a Jabber event sink; can use that to make local caches of things without needing to poll, which has to be good. Could even go crazy and “subscribe” to a syndication journal's new entries to trigger a proper RSS fetch, thus faking a server-push aggregator. Fun times.

[info]mart

May 4 2006, 18:27:08 UTC 6 years ago

I remember ages ago we talked about giving every LJ user their own private “notification journal” which would appear on their friends page and show any events targetted at it. Not necessarily implemented as a real journal, but presenting that illusion. Though why not just use a real journal? It can just clean itself up after a couple of weeks like syn accounts do. Main hurdle is that we still can't have anonymous accounts, and having to name all of these special journals would be horrible.

[info]foxfirefey

May 4 2006, 18:57:46 UTC 6 years ago

Trackbacks are still left, if I'm not mistaken.

[info]halfawake

May 4 2006, 18:25:33 UTC 6 years ago

I want to second the idea of subscribing to poll updates - I always have to keep going back to them on a semi-regular basis to see if anyone's filled it out until it is old enough that the odds of that are pretty slim. It'd be quite nice if polls could do what comment notification does now.

Maybe somebody wants to convert the support area?

Are you talking about individual support requests or the entire board? There's already a notification option for the support board as I'm sure you're aware, but it's essentially worthless for high traffic sections like Gunk since you get flooded with email if you turn it on. I'm just a little confused about what you're refering to here because I remember from when I worked in support that it emails you when there is an update. I'm pretty sure that was true for both Internal Comments and regular comments, but I never ended up getting to supporthelp, so I'm not sure.

Please keep us informed about this. I don't know about other users around here, but this is the one feature that I'm most looking forward to.

[info]bridgetester

May 5 2006, 00:45:17 UTC 6 years ago

I believe that the ESN Event Type for new support requests in a category is intended to replace the current mechanism.

[info]halfawake

6 years ago

[info]bridgetester

May 5 2006, 00:43:00 UTC 6 years ago

It would be nice if regreens in a support category were subscribable... or regreens for requests you touched.

[info]idonotlikepeas

May 5 2006, 10:07:08 UTC 6 years ago

Doesn't sound like it would be hard to add that to Support. Hey, and it's the weekend now, too.

And no, I didn't somehow just post that anonymously. *headdesk*

[info]clayfoot

May 10 2006, 13:15:33 UTC 6 years ago

Email-only interface to LiveJournal

An email-only interface to LiveJournal was described in [info]lj_dev in 2002. Will that feature be rolled into the new notification methods? I'd be willing to help write such a feature.

http://community.livejournal.com/lj_dev/358970.html
Create an Account
Forgot your login or password?
Facebook Twitter More login options
English • Español • Deutsch • Русский…