Elias Torres: Sam could you add Jabber notifications to the email in the comment form when a new comment has been posted to entry? pleeeeeeeeeeaase.
OK, I’ve added a Register entry to the Nav Bar on the right. It will allow you to specify your preferences, but I haven’t yet connected it to XMPP.
Elias Torres: Sam could you add Jabber notifications to the email in the comment form when a new comment has been posted to entry? pleeeeeeeeeeaase.
OK, I’ve added a Register entry to the Nav Bar on the right. It will allow you to specify your preferences, but I haven’t yet connected it to XMPP.
That’s pretty much it. The registration panel is live in that it will capture and display your preferences, but again, at the present time no XMPP messages are generated until I am comfortable that the registration is debugged.
My goal is to keep this simple. If you are looking at a page, three mouse clicks and you can be subscribed (it may take more based on your OpenID provider). One subscription list per OpenID. You can subscribe to all comments, just the entries that you have commented on, or add subscriptions to any of the ten most recently posted or commented on entries.
As an aside, this deceptively simple form has lots of combinations to deal with: new user vs returning user, GET vs POST, cookies available or not, unauthenticated user vs failed authentication vs fully authenticated user vs previously authenticated user whose authentication has timed out. If you find some combination that doesn’t work as you would expect, let me know.
I managed to go through the register process (authenticating through OpenID and so forth), but after entering my Jabber account address, checking “Subscribe to all discussions that you have participated in”, and clicking “Submit”, the registration form just refreshes with the old information in it. I wonder why?
When this is fixed, I have a couple of comments. The “Google Talk ID” you’re asking for was pre-populated with my e-mail address. These will often not be the same; should you perhaps split “Google Talk ID” to its own field and leave “E-mail” as it is? There’s also missing a lot of labels in the registration form.
If this form is supposed to become the main new place for entering user data on Intertwingly, perhaps the comment form can be reduced to just a textarea when you’re logged in? Then, if I want to change the information registered, I can just jump to the registration form and alter the data. And further, it would be neat if that registered data was extracted from my OpenID persona.
Status update:
Subscribed again - no debug information this time. I’m in agreement with Asbjørn about prepopulating the “Google Talk ID” with the email address, mine is different as well. You might also guess from the use of those quotes that I find the mislabelling of an entire open protocol with a brand name objectionable too, but it’s your party.
Who’d have thought such a simple feature would generate so much excitement. We’re all desperate to sign up for a some notifications you haven’t even connected up yet!? If I was you I’d start selling boxes of something-you-haven’t-thought-of-yet, I reckon the orders will come flooding in. :)
Subscription worked for me. An extra round trip, with no error message. I had the wrong address the first time, I wonder if it is related.
Let’s see if I can find time to create a mombo repository before the code base becomes too complex. :)
I’m getting an XML parsing error in Firefox:
XML Parsing Error: no element found
Location: [link]
Line Number 1, Column 1:
^
The “Google Talk ID” you’re asking for was pre-populated with my e-mail address. These will often not be the same; should you perhaps split “Google Talk ID” to its own field and leave “E-mail” as it is?
I have no need to harvest email addresses. All I need for this purpose is an XMPP ID. For some people, pre-populating this field with the email address will save keystrokes and reduce typos. For others, it will require updating.
The human factors issue is more interesting to me. Simply put, people don’t read labels. After thinking about this a bit, I’ve concluded that the way to address that problem is to place a Test XMPP button in front of the Save Changes button.
I find the mislabelling of an entire open protocol with a brand name objectionable
The label now simply reads XMPP ID. With Rod Begbie’s help, I’ve verified that XMPP will store and forward messages, which is very cool. What that means is that I can send to Google Talk and it will forward to the appropriate server, if necessary.
If anybody for any reason wants me to bypass the Googleplex, just let me know what server I should use. I will need to be able to get a user and password on that server.
XML error here too.
From what I have been able to piece together, people have been trained to think of the email address as optional, and hit save. Ron’s original save has since been overwritten, but Dan’s still shows a missing XMPP id.
For those who want to follow along, here is the code. There is a try/except block around most of the code, then the actual response is sent back. For there to be an XML error on line 1, the Content-Type had to be sent, and the next print statement had to die.
I’m guessing that a None got in there, and the escape(None) failed. I’ve added some code to try to ensure that blanks are stored as '', and for good measure, I now output str(user_jid). str(None) is 'None' in Python.
Now I get a silent reload
What is a silent reload? At the moment, both of those buttons are non AJAX type="submit" buttons, and they initiate a complete round trip to the server. That’s normal.
no message received
When I tried to send you an IM to the ID you specified, I got an error code 503.
By the way, I was about to post that I have completed the XMPP code, so everybody who has registered for notification should be seeing this.
intertwingly@gmail.com as a buddy for this to work. Somewhere along the line, it prompted me to do so.What is a silent reload?
When I tried to send you an IM to the ID you specified, I got an error code 503.
By the way, I was about to post that I have completed the XMPP code, so everybody who has registered for notification should be seeing this.
labels (makes clicking those checkboxes with a mouse unecessarily hard).Some have reported that they had to manually add intertwingly@gmail.com as a buddy for this to work. Somewhere along the line, it prompted me to do so.
A clean way to avoid this is for you to send a roster request iq message before your first real message, meaning the user gets an “Intertwingly wants to add you, do you want to add them” or similar from their client.
I’ve added labels, a hover help over the “Text XMPP” button, and added a call to client.sendInitPresence(requestRoster=True) when the Test button is pushed (but not during the normal flow of comment notification).
I do plan on adding a response indication after these buttons are pressed, but before I get around to doing that, I plan on making those buttons use XMLHttpRequest when available.
I’m using the Flash-based Google Talk Gadget, which was designed for iGoogle. When I was registering, I got the following message after hitting the “Test XMPP” button:
This is a plaintext message. If you see this, your client does NOT support XHTML-IM
I think that’s why I’m not getting URLs. Would it be possible to put a plaintext URL in the plaintext notifications?
Well the “Test XMPP” is working for me, which I like; even tried closing my Jabber client, sending the test message — when I logged in again the message came through, so yes, the queueing at google appears to be doing the job (I use a Jabber account on my wintermute.com.au domain)
And, having just registered to receive notifications against this post, I’m now testing to see that I’m getting notif’s
I feel certain the notifications are going to get annoying (though for now i’ve only subscribed to “discussions i participate in"), but I have to try for a little while, this is ridiculously cool
oh and i was not-logged-in and don’t use "remember info”; only thing that meant is that when i go back to “register” now, the form is empty and i have to complete it again — not a big deal but now that i’m logged in via openid it’d be nice if it could remember my settings?
thanks
-p
Great experience !
I was only receiving plain text messages whereas Psi partially supports XHTML-IM, but it now works.
Not sure how necessary it is to use OpenID to subscribe to comment notifications, though.
It could be possible to add an RSS-like button pointing to xmpp:intertwingly@gmail.com/comments?subscribe and perhaps also xmpp:intertwingly@gmail.com?subscribe for blog entries, for easy subscription.
Ideally, it would be used with the PubSub XMPP query type.
And going further, there could be an autodiscovery element like this (the MIME type is probably incorrect) :
<link rel="alternate" type="application/atom+xml" title="It’s just data" href="xmpp:intertwingly@gmail.com?subscribe"/>
Also, using the ad-hoc command, it could be possible to manage subscription directly via the Jabber client similarly to this so that it can be possible to subscribe to the presence stream only for example.
BTW, this blog entry is not index by Google.
Would it be possible to put a plaintext URL in the plaintext notifications?
Done.
i was not-logged-in and don’t use “remember info”; only thing that meant is that when i go back to “register” now, the form is empty and i have to complete it again — not a big deal but now that i’m logged in via openid it’d be nice if it could remember my settings?
I struggled with this for a while, then went ahead and implemented it. The problem is that the concept of "logged on” really is just a convenient fiction. In this case, what it really means under the covers is “I have a cookie”. I briefly considered adding a “Remember info?” checkbox, but its placement next to a “Save Changes” button would be rather confusing.
And the real problem is that those who need this most are the ones who have not opted in to using cookies.
Anyway, for now, and until I get a better idea, the /registry/ page will always attempt to set a cookie. This allows the XMPP and commenting information to be completely separate.
Not sure how necessary it is to use OpenID to subscribe to comment notifications, though.
All subscription options either involve software that you physically install on your machine or online services that require a login. In this case, I’m hosting the service. I could either implement a login system myself (and require email verifications, etc), or simply rely on OpenID. I chose the latter.
In any case, I do have in place everything that I would need to enable a one click subscription to a specific comment thread, I just want to think a bit more before proceeding down that path.
Done.Would it be possible to put a plaintext URL in the plaintext notifications?
I could either implement a login system myself (and require email verifications, etc), or simply rely on OpenID. I chose the latter.