Sunday, April 1, 2007< ^ >
Alex has set the subject to: Jabber/XMPP development (english spoken room)
Room title: "jdev"
Allow users to change subject
Allow users to send private messages
Allow users to query other users
Allow users to send invites
Make room semianonymous
Default users as participants
Make room members-only
Make room moderated
Make room password protected
Make room persistent
Make room public searchable
Make participants list public
[00:21:30] jeeterm joins the room
[01:15:07] sjr joins the room
[01:51:07] sjr leaves the room
[01:57:15] bct leaves the room
[02:01:23] jeti joins the room
[02:31:52] TobiasFar joins the room
[02:54:47] elmex joins the room
[02:54:59] <elmex> did someone miss me?
[02:55:23] <TobiasFar> not me ;)
[02:56:22] <elmex> :-(
[02:56:24] <elmex> you are mean
[02:57:11] <TobiasFar> not really
[02:57:19] <elmex> i thought i've found friends for the first time in my life and you... you... you dont like me *sob*
[02:57:43] <TobiasFar> heh...seems you have to life with it
[02:58:16] <TobiasFar> but another question: How does the perfect roster have to look like? What features should it have?
[02:59:50] <elmex> the perfect roster should show me whether the other person is online and since when. it should also be space efficent. meaning: show most information with a good info/space ratio
[03:00:35] <TobiasFar> but if you have a good info/space ratio the font will be pretty small
[03:00:45] <elmex> i don't want icons which are 2 times bigger than the font just to show me that he is online. its enough that he shows up. (meaning: offlien users aren't shown if i don't want them to)
[03:01:05] <elmex> well, the font should be user-settable
[03:01:28] <elmex> let him pick the one that best suits him. but don't take up so much extra-space
[03:01:34] <TobiasFar> what's with avatars?
[03:02:32] <elmex> avatars are... colorful. but i don't need them for the usage and they usually don't represent information that i need to see on the roster.
[03:03:01] <elmex> but i'm not the average windows-user-wants-colorful-and-unuseful-programs-user
[03:03:18] <elmex> that might be too a preferecence
[03:03:37] <TobiasFar> what's about structure? just a list or tree structued
[03:04:07] <TobiasFar> or maybe something entirely different
[03:04:08] <elmex> how many levels has the tree?
[03:04:43] <TobiasFar> depends on the usage of groups and meta contacts and whether resources are shown
[03:05:54] <lynx> hmm.. my roster is a text line on top of my telnet :)
[03:06:16] <elmex> well. some kind of tree view is ... nice... but i've just had a crazy idea: it would maybe be useful if the most 'used' contacts would show up at the top. i mean that the roster sorts itself by counting the frequency with wich i contact someone.
[03:07:03] <elmex> but aside from that: i guess a list structured in groups will be best.
[03:08:12] <TobiasFar> hmmm...
[03:08:18] <TobiasFar> thanks for your inpuit :P
[03:08:49] <elmex> the most important thing if you want broad user acceptance: a good default and an easy way to make preferences.
[03:09:37] <elmex> icons and avatars are 'nice' in the roster. i guess i would like to view them sometimes too. but not all the time
[03:10:04] <elmex> it's enough for me that offline users or away users are shaded or something like that
[03:10:18] <elmex> (offline users best not shown at all)
[03:10:39] <TobiasFar> yeah...nice idea...to fade them away the more inpresence they are
[03:24:56] <elmex> the important thing is that it should allow me to reach the one i want to reach as quick as possible, even if i have a big roster
[03:26:27] <fippo> sort users by the time you've talked to them last (or use a self-ordering list)
[03:26:47] <elmex> why talked to 'last' ?
[03:27:07] <elmex> i would rather like it to be sorted by contact frequency
[03:27:20] <elmex> because the propability that i want to reach them is higher
[03:27:28] <TobiasFar> yeah...contact frequency sounds better to me too
[03:27:35] <lynx> and then have to look for people in a mess? i'm pro for groups
[03:27:43] <fippo> which is what i mean by "by the time you've talked to them last"
[03:28:16] <lynx> when you're looking for someone you dont call often, she might be anywhere in the list
[03:28:18] <elmex> lynx: well, group view should still be possible. but for me it shouldn't be the regular one
[03:28:29] <elmex> lynx: for that you need a good search function
[03:28:46] <lynx> i dont even care to have group seperators.. just order by groups
[03:28:50] <fippo> probably create an artificial "frequent contacts" group
[03:30:45] <elmex> well,groups is something i've to 'administrate' myself, i've to take care they all end up in the right group when subscribing... i don't want to spend time to adminstrate such an artificial seperation. it's not bad to have, but it's not that important to me. maybe even add a mode to sort by most-frequent-group or something like that
[03:31:32] <elmex> roster are suboptimal anyway
[03:31:58] <elmex> i don't want to see everyone who is online except when i really want to see them
[03:32:21] <elmex> there should be no window at all :->
[03:32:35] <elmex> (but i manage that with my window manager)
[03:32:38] <TobiasFar> how does the program know when do you want to see somebody
[03:32:50] <elmex> by telling the program :->
[03:32:58] <TobiasFar> it already knows that mostly you don't want to see the offline ones
[03:32:59] <elmex> (click on it or press a shortcut)
[03:33:05] <elmex> right
[03:33:23] <elmex> but i don't want to see all online users too... except maybe some special ones (like my girlfriend)
[03:33:37] <elmex> but that can be managed somehow by groups
[03:33:40] <elmex> but that suboptimal
[03:33:57] <TobiasFar> why do you subscribe presence from people you don't want to see online?
[03:34:15] <elmex> my gf is in the 'family' group... and thats where she belongs. but putting her into a 'special' group i always display hides that relation
[03:35:20] <elmex> TobiasFar: because sometimes i like to contact them, and then it's most easiest to see whether they are online (whether talking to them will be most likely successful)
[03:35:20] <fippo> tobiasfar: because unsubscribing them is considered impolite (and you therefore do "polite blocking")
[03:35:39] <lynx> i tend to have two major groups too.. the ones i need to talk to, or might need to.. and the ones i only lookup occasionally..
[03:35:46] <TobiasFar> lol
[03:35:51] <lynx> so the first group is visible, the second one is packed away
[03:36:06] <elmex> yes, but you need to administrate that stuff yourself
[03:36:25] <lynx> ideally i would like to only get alerts from the visible group (logged in, logged out etc)
[03:36:25] <elmex> i don't want to do constant group-changing..
[03:36:49] <elmex> yes, such alerts on request would be nice
[03:36:56] <TobiasFar> elmex: yeah..you should have to define the group only at subscribing time
[03:36:57] <elmex> 'inform me when my gf comes online'
[03:37:10] <elmex> TobiasFar: right
[03:37:14] <elmex> and sometimes not even then
[03:37:18] <lynx> my telnet interface is totally alert-oriented.. one line of text shows me who's coming or going
[03:37:30] <elmex> right
[03:37:33] <lynx> but i need to filter it to the people that are information to me
[03:37:37] <lynx> or otherwise presence = noise
[03:37:50] TobiasFar likes the big and fancy popup way
[03:38:02] <elmex> i would love a im-clien that runs in a terminal window like that too (thats maybe thereason why i am writing such a client)
[03:38:04] <lynx> the buddy list as such is usually not so important, because i already read who's there
[03:38:51] <lynx> oh no.. popups that break into my work, never.. i like all events nicely lined up in my chat window..
[03:38:52] <elmex> TobiasFar: popups are too distracting for me. when i'm on another screen and i'm coding, then the last thing i want is a window popping up and distracting me from the code
[03:39:29] <lynx> whatever it is.. changes to the wiki, emails, privmsgs, syslogd panicking
[03:39:33] <elmex> TobiasFar: but there also hits the 'make preferences easy' rule :)
[03:39:54] <lynx> headline news.. it's all in one window that i periodically read & clear
[03:40:24] <lynx> i even monitor access to my websites that way
[03:41:02] <lynx> did i mention it's easier to do psyc gateways in small apps than xmpp? ;)
[03:41:26] <fippo> and you frequently talk in the wrong room because you only have one window for all :-)
[03:41:51] <elmex> nope
[03:41:58] <elmex> ah, right, i don't do that anymore
[03:41:58] <lynx> YES that's the stupidest problem about single-window chat interfaces
[03:42:10] <elmex> i solved that problem
[03:42:22] <elmex> i will never write in the wrong one again
[03:42:29] <elmex> and still have a curses interface
[03:42:30] <TobiasFar> what's the problem with single-chat windows?
[03:42:33] <lynx> but that's just because i also have all chatrooms in the same window, which isn't a recommendable approach and i'm willing to upgrade to a decent psyc client
[03:42:50] <elmex> TobiasFar: the main problem was with irssi: multiple chat windows but only one input line
[03:43:01] <TobiasFar> ahh
[03:43:04] <elmex> i happened to have the wrong window focused quite often
[03:43:24] TobiasFar doesn't use CLI programs that often
[03:43:25] <elmex> like writing in the public: "you are so hot, i want to stick it into your ******"
[03:43:40] lynx asks: psycion uses a screen(1)-like interface.. what does bummskraut use?
[03:43:40] <elmex> when i wanted to write that to my gf
[03:44:22] <elmex> lynx: bummskraut has multiple buffers. and you can connect multiple frontends. and each frontend can have a different buffer selected
[03:44:38] <elmex> a buffer is a 'contact' of some kind
[03:45:40] <lynx> for the girls a client with good love action visualisation would be great
[03:45:53] <elmex> ?
[03:46:10] <elmex> you mean with a window that shows a porno to make them bed-ready?
[03:46:22] <lynx> like i type /kiss and she gets a boom bang fantastic rhps-like animation all over her screen
[03:46:22] xia212000 joins the room
[03:46:30] <elmex> haha
[03:47:02] lynx asks: so elmex, you use multiple processes in a screen or xterms?
[03:47:14] <lynx> reminds me of /window create of ircII
[03:47:16] <elmex> in rxvts :)
[03:47:38] <elmex> or in screens
[03:47:41] <elmex> whatever you like
[03:47:46] <lynx> ircII has the ability to open screen(1)'s or xterms.. hardly anyone figures that out
[03:48:03] <lynx> it's in the code since 91 or something
[03:48:06] <elmex> i guess it's something like that
[03:48:26] <elmex> where you start the frontend process (in screen or somewhere else) doesn't matter
[03:48:33] <elmex> (you can even run it on a different machine)
[03:48:42] <elmex> (like i usually do)
[03:48:51] <lynx> yeah yeah your bouncer protocol is pretty neat, elmy ;)
[03:49:01] <elmex> well, it's not prefect
[03:49:05] <lynx> to bad it's not psyc.. why json? *g*
[03:49:09] <elmex> but it solves my problems
[03:49:49] <lynx> (not a serious question, json is pragmatic for single source apps)
[03:49:50] <elmex> json was easy to parse as i already had a parser for that, that is easily pluggable and has a very defined interface
[03:50:09] <elmex> to_json and from_json. thats all :->
[03:50:39] <fippo> elmex: the same is true for macromedias AMF :-P
[03:51:06] <elmex> whats amf?
[03:51:08] <lynx> so you totally and convincedly exclude the options of (a) having differing versions on various machines and (b) having more than one codebase for the protocol :)
[03:51:49] tomprince leaves the room
[03:51:49] tomprince joins the room
[03:51:50] tomprince leaves the room
[03:52:15] <elmex> lynx: well, the frontends can of course be in different versions... once the protocol is stable enough it can be implemented by anyone.
[03:52:19] tomprince joins the room
[03:52:31] <elmex> lynx: and why can't i have multiple code-bases?
[03:52:39] <lynx> i disagree - either you can just use the json data, then you cant have differing versions
[03:52:51] lynx asks: or you are implementing a protocol on top of json, then why a new protocol?
[03:52:51] <TobiasFar> someone familiar with FastCGI?
[03:53:25] <elmex> lynx: json is just the 'encoding' of data structures. the data structures are of course meaningful and have a protocol.
[03:53:39] <elmex> s/have/follow/
[03:53:49] <elmex> lynx: a new protocol that suits the job best
[03:54:09] <elmex> it's better than abusing irc for bouncing in the manner i needed
[03:54:17] <lynx> so even if json gives things as is, you still have to check their meaning and sanity
[03:54:26] <elmex> of course
[03:54:42] <elmex> like in any protcol you still have to apply semanticcs somewhere
[03:54:59] <lynx> ok, better than abusing irc is always good.. but extensible protocols like jabber or psyc should give you a hand here and there
[03:55:57] <lynx> ok xml probably gives you more trouble than it actually helps you ;) ;)
[03:56:14] <elmex> (jabber isn't extensible, but others might differ. XEPs are just protocol hacks from my point of view. adding a 'new' element somewhere where it is usually ignored by non-supporting clients is easy)
[03:56:40] <elmex> with that even IRC is extensible
[03:57:25] <elmex> lynx: the problem with psyc was that i didn't have a parser for the protocol and no defined interface.
[03:57:34] <lynx> append at the end of a line and hope some other irc dialect doesn'T append something completely different... brrrr
[03:57:44] <elmex> :)
[03:57:52] lynx asks: which language, elm?
[03:58:00] <lynx> ah right.. perl..
[03:58:03] <elmex> lynx: perl :)
[03:58:09] <lynx> hey.. we have Net::PSYC since 1999!!
[03:58:58] lynx asks: and since you want to do your own methods anyway.. why should the flowing state of the psyc unstandard disturb you?
[03:59:00] <elmex> Net::PSYC is great, but it didn't offer me a interface for just protocol parsing. and it took me too much power to customize it. and most important: it doesn't work so good anymore - at least as far as el told me
[03:59:37] <elmex> (at least wrt to real world usage)
[04:00:07] <elmex> json was there, json worked, i didn't have to write my own parser, so i used it.
[04:00:21] <elmex> switching the protocol to psyc is still possible
[04:00:29] <lynx> eh? then just revert to my version before el starting coding on it!! hahaha kidding.. in fact you can always just receive and send msgs with a rich interface.. no matter which methods you use.. you don't have to use the whole Net::PSYC::Client logic
[04:00:37] <elmex> most of the protocol handling is abstracted away pretty nicely
[04:01:08] <lynx> i run Net::PSYC every time i fire up my psycmp3 player.. no problems at all
[04:01:28] <elmex> heh, ok
[04:02:44] xia212000 leaves the room: Disconnected
[05:09:23] smoku joins the room
[05:15:13] queltos joins the room
[05:47:06] Kev leaves the room
[05:47:14] Kev joins the room
[05:53:35] jeti leaves the room
[05:55:27] elmex leaves the room
[06:01:31] legoscia joins the room
[06:04:39] smoku leaves the room
[06:26:53] TobiasFar leaves the room
[06:41:55] TobiasFar joins the room
[06:56:26] niekie leaves the room
[07:14:39] queltos leaves the room
[07:45:52] TobiasFar leaves the room: Replaced by new connection
[07:45:57] TobiasFar joins the room
[08:03:35] Solarius joins the room
[09:31:09] jeeterm leaves the room
[09:31:09] lynx leaves the room
[09:31:31] lynx joins the room
[09:33:32] <lynx> anybody please ask my vCard.. i'd like to see if i successfully utf8'ed my profile data......
[09:34:42] <lynx> yeah! no xml crash this time :)
[09:36:58] jeti joins the room
[09:38:33] <legoscia> looks right to me
[09:40:06] lynx asks: does your server tell you when somebody looks up your vcard?
[09:41:52] <TobiasFar> on direct requests my client can tell me
[09:42:51] <lynx> i'm undecided whether to make it show or not.. ah yeah.. in xmpp it takes a xep for that hehe.. i just make up a _notice for it on the fly :)
[09:56:25] fippo leaves the room
[10:00:38] fippo joins the room
[10:31:44] jeeterm joins the room
[10:31:49] jeeterm leaves the room
[10:32:00] jeeterm joins the room
[10:33:32] jeeterm leaves the room
[11:34:25] legoscia leaves the room
[11:51:27] bct joins the room
[12:05:10] njoyce joins the room
[12:06:34] <njoyce> If a client makes a connection to a XMPP server, and for some reason the client was not allowed to connect, how would the server say that in XMPP and then close the connection?
[12:06:35] iono leaves the room
[12:42:09] <fippo> njoyce: policy-violation stream error seems most appropriate to me
[12:44:15] <njoyce> fippo: looks good to me, thanks!
[12:52:24] niekie joins the room
[12:52:44] njoyce leaves the room
[13:12:25] tomprince leaves the room: Replaced by new connection
[13:12:25] tomprince joins the room
[13:12:28] tomprince leaves the room
[13:12:43] tomprince joins the room
[13:13:44] tomprince leaves the room: Replaced by new connection
[13:13:45] tomprince joins the room
[13:13:46] tomprince leaves the room: Replaced by new connection
[13:13:48] tomprince joins the room
[13:13:50] tomprince leaves the room
[13:13:56] tomprince joins the room
[13:21:02] sjr joins the room
[13:49:42] sjr leaves the room
[13:53:07] legoscia joins the room
[14:05:07] tomprince leaves the room
[14:05:26] tomprince joins the room
[14:05:36] tomprince leaves the room
[14:06:30] tomprince joins the room
[14:23:30] sjr joins the room
[15:01:28] jeti leaves the room
[15:08:48] tomprince leaves the room
[15:13:46] jeti joins the room
[15:21:52] jeti leaves the room
[15:22:39] Solarius leaves the room
[15:26:54] tomprince joins the room
[15:41:59] jeti joins the room
[15:43:30] sjr leaves the room
[15:53:08] Kenck joins the room
[15:53:45] Kenck leaves the room
[15:54:41] Alex joins the room
[15:54:41] Alex leaves the room
[15:59:43] Kenck joins the room
[16:00:13] <Kenck> any girl for me
[16:00:39] <Kenck> hello
[16:01:03] <Kenck> /legoscia: hello
[16:02:15] <TobiasFar> Kenck: wrong room
[16:02:43] <Kenck> Tobias > because
[16:03:08] <TobiasFar> topic
[16:03:37] Kenck leaves the room
[16:13:02] <legoscia> btw, the right
[16:13:09] <legoscia> btw, the right room is firstname.lastname@example.org ☺
[16:17:41] jeti leaves the room
[16:51:20] TobiasFar leaves the room
[16:53:52] legoscia leaves the room
[17:19:34] maddrick joins the room
[17:24:10] maddrick leaves the room
[17:34:36] sjr joins the room
[18:17:34] bct leaves the room
[18:18:26] bct joins the room
[18:37:42] sjr leaves the room
[18:42:55] Yandris joins the room
[18:43:11] Yandris is now known as Jost
[18:43:34] <Jost> Hello
[18:45:11] Jost leaves the room
[18:47:59] Jost joins the room
[18:48:20] <Jost> Hello
[18:48:45] Jost leaves the room
[20:26:50] sjr joins the room
[21:21:23] NICKY_JAM joins the room
[21:23:39] <NICKY_JAM> que bola
[21:23:40] tomprince leaves the room
[21:25:51] <NICKY_JAM> pinga habln cojoneeeeeeee
[21:26:30] NICKY_JAM leaves the room
[22:49:05] jeeterm joins the room
[22:51:02] sjr leaves the room
[23:15:51] sjr joins the room
[23:25:59] niekie leaves the room
[23:47:48] bct leaves the room
[23:49:11] sjr leaves the room