http://my.opera.com/WebApplications/blog/show.dml/438711 http://zeeohemgee.blogspot.com/2006/09/writing-sse-backends-with-python_09.html http://oxzone.opera.com:8088/talk/kanzure http://oxzone.opera.com:8088/script.js http://webtoman.com/opera/custom/custom_buttons.php kanzure Remco16:09 Started talking on Wed, 30 May 2007 16:09:25 GMT-0400 16:09 -> kanzure has joined 16:09 kanzure Alright 16:09 Remco Good 16:09 kanzure Nice interface, they have here, btw. 16:09 Remco It's a clone of Opera's irc interface 16:10 Remco Once you type a message and press "Talk!" or enter, an xmlhttprequest is sent 16:10 Remco The server then sends it over the SSE stream to all clients 16:10 Remco So once you see the message on screen, it's also on the screen of other clients 16:10 kanzure Alright. So then what about this "event" tag that gmoz is mentioning? 16:11 Remco It's where all the events get in 16:11 Remco You do something like eventtagid.addEventlistener 16:11 kanzure Is SSE just the under-the-hood implementation to make XMLHttpRequest work ? 16:11 Remco No, it's different 16:12 Remco SSE is basically a never ending html page 16:12 kanzure okay, that makes sense 16:12 Remco Just with other data, and it gets interpreted by the client line by line 16:12 kanzure kind of like the videos that load from Youtube on demand 16:12 Remco Yeah, sorta 16:12 Remco It's a stream 16:12 kanzure right 16:13 kanzure So I do not see how the AJAX commands have to come into with this idea of the 'stream' via SSE 16:13 Remco The SSE stream is one way only 16:13 kanzure would I use XmlHttpRequest to send data to other pages on the server, and thereby update the stream-page that is still loading on the lcient's end? 16:13 kanzure oh 16:13 Remco Only the server can send data over it 16:13 kanzure SSE stream is only server -> client ? 16:14 Remco That is exactly what you do 16:14 kanzure Excellent 16:15 kanzure if the SSE stream is only server->client, then how does the server know when the SSE connection is initiated or closed? 16:16 Remco That's the hard part 16:16 kanzure So I just have to include some checks on the server to every-once-and-a-while kill latent clients 16:16 kanzure 'erm, connections to those clients 16:16 kanzure i.e., if no polled XmlHttpRequest in the last two minutes, the user is offline 16:16 Remco That would work 16:17 kanzure And the data that the client receives from the SSE stream, would be directly sent to my javascript-based plugin for processing and doing whatever I wish? 16:18 kanzure (plugin/widget, I don't know which one the Opera community prefers to call it) 16:18 Remco It gets in as 'click' events on your page/widget 16:18 Remco Similar to that 16:18 Remco http://oxzone.opera.com:8088/script.js 16:18 Remco Check the onload section 16:19 kanzure Aha 16:20 Remco It's very simple to use 16:22 kanzure Remco, how much different would it be for me to make this a widget-based plugin, or something that would not appear in the 'web page panel' ? I am sure there is some documentation I can go check, but you seem friendly enough 16:24 Remco I think the difficult part for you is how to share the tabs/urls 16:24 Remco A widget is easy to create, just like the server app 16:26 Remco Using the widget as a way to check off urls you've visited is the easiest 16:26 kanzure Sharing the tabs and URLs would just be maybe a keypress away 16:27 Remco Add them to a list, then when somebody checked it they press a button on the widget and everybody knows they don't have to check it again 16:29 kanzure yeah 16:30 kanzure so maybe there would be (1) tab coloring- bold if nobody has seen it, gray if everybody has seen it, and then italicized if only somebody else has seen it, and then maybe (2) a quick little key to share the tab or new link (actually, I think any type of content should be shareable), and (3) a few buttons to synchronize the sessions, as well as to "go asynchronous" (so that we are not all stuck together on the same browsing session, even though this is not the same as screensharing or sessionsharing as some browsers do, yes, I know) 16:33 Remco 1) You can't give the tab another colour inside Opera, you'll have to do that inside the widget 2) A custom button will do 3) Those can be on the widget 16:33 Remco http://webtoman.com/opera/custom/custom_buttons.php 16:34 Remco Check the tinyurl button from there 16:34 Remco It's that easy to send an url somewhere 16:34 kanzure Ah, cool. That should be easy enough .. the buttons could just be on the sidebar, maybe to the left of my "Windows" list 16:34 kanzure really really simple 16:34 kanzure hehe 16:38 Remco It will just take some time to get everything together