I wonder when realtime techniques will become a normal thing just like some AJAX techniques now. For example, when will there be a framework which allow you to do the same as FriendFeed's live-updating comments? (kind of "push" content).
Some back-end things that FF has will not be easy to copy... But the back-and-forth between browser and server can be put into a generic library I think.
- Meryn Stol
Although I'm familiar with most web technologies as a programmer, I wouldn't have a clue how I would go about writing a *single user* friendfeed for example. That is, I would want a comment which I post in one browser window to be instantly visible in another.
- Meryn Stol
While the FF team has been quite innovative with their approach (I've never seen it being done before elsewhere) I know this part is not truly rocket science. If I'd delve into their JS, I could probably figure it out.
- Meryn Stol
Hmm good point Rahsheen... Well maybe that's the first framework then... I was thinking more of something lightweight as jquery. Jquery could really bring these realtime/push techniques to the masses. I think it could improve almost any site.
- Meryn Stol
I think "push" is the most important thing. "Realtime" makes one think of the stream... It's the push-updating of content that interest me the most. A kind of "syncing" of the content inside browser windows.
- Meryn Stol
Meryn, the push idea on the browser is obviously difficult due to the statelessness. However, a quick polling cycle can make it feel like real-time. Ajax requests through something like JQuery can have a long-polling affect as well because the content on the server may take some time to return.
- Rob Diana
Rob, does FF do it with polling? You also have the technique of holding a HTTP connection open. I think that's done for web-based chat rooms often. There's a always-on HTTP connection.
- Meryn Stol
Bret, yes, I saw that a while ago. Maybe there need to be more Orbited "recipes"... E.g. "How to build a single user FriendFeed room".
- Meryn Stol
There is no such thing as 'PUSH' on the web - FF is just long polling, i.e. an AJAX request that is kept open, then re-opened when new data is returned. We do exactly the same with TweetMeme.
- Nick Halstead
Nick, yes I know there's technically no push, but a HTTP connection on which new data is trickling in is somewhat like push. There's an open connection the server can "write" to.
- Meryn Stol
Nick, what library have you used for Tweetmeme? Home-brew? You know of any tutorials to do this kind of thing?
- Meryn Stol
As for a framework - it is actually not hard to write, the common problem is that most 'typical' web servers such as Apache are not designed to leave that many open connections, NGINX is much more suitable - as it is very fast + extremely light weight
- Nick Halstead
Thanks Nick. This is very interesting. Well I hope that a a kind of "JPush" (ala JQuery) will come to be.
- Meryn Stol
Actually, you can use a forever-loading iframe to do 'PUSH'. Long-polling isn't the only option, though it's the most common and easiest to use method. Twitterfall uses different methods depending on what is available in the user's browser; potentially forever-iframes, XHR, long-polling, and ordinary polling.
- Jalada
Could someone (like twitterfeed) use the Buzz API to make Buzz posts from Gmail work as a Twitter publishing client? This can be real-time via PubSubHubbub.... - http://www.onebigfluke.com/2010...
The idea is they wouldn't subscribe to their Twitter feed in Buzz anyways, since they'd be pushing out from Buzz to Twitter as if it were a client (like http://tantek.com).
- Brett Slatkin
The echos/loops stuff is complex and should be addressed with atom:source and crossposting extensions; I believe they've got a remedy for this already.
- Brett Slatkin
How about thinking about it one more level removed, e.g. how does someone use their own site as a Buzz publishing client?
- Tantek
Personally I use BNC Automatic Rss to Twitter http://bncscripts.com/bnc-aut... to send my feeds to twitter. What I like most is that instead of twitterfeed ( before using this script) it shows my own website.
- John Diguit
When you receive the RSS file from the webserver, check the response header for two fields: Last-Modified and ETag. You don't have to care what is in these headers, you just have to store them somewhere with the RSS file. Next time you request the RSS file, include two headers in your request.. Your If-Modified-Since header should contain the value you snagged from the Last-Modified header earlier. The If-None-Match header should contain the value you snagged from the ETag header.
- Brett Slatkin
So I didn't hear the context. Do you mean replicating the content in the feeds we emit?
- Darren
Darren - yes, replicating twitter information seems problematic for MSFT and GOOG
- Kevin Marks
One of the original goals of AS was to provide attribution and maintain reference to the originating source. We abide by and support that in all cases.
- Darren
So while the data may be the same, de-duplicating should get easier as we get better and re-syndication.
- Darren
Though not all parties abide by that due to their own internal architecture. GOOG is one of those I think. Re: maintaining Atom IDs.
- Darren
Though it does exist elsewhere in the Atom entry. Not sure on JS right now.
- Darren
I don't think google's Atom parser is dealing correctly with Source at the moment - @t was showing me problems from his feed
- Kevin Marks
So there we go. I have audio/video in Chrome.
- Darren
Brett and Julien look like they were hacking all night.
- Darren
Chris Messina mentioned "private APIs", will Cliqset and/or Superfeedr help a user use his "friends timelines" from multiple services?
- Brian Hendrickson
I think it's time for a massive "Rome wasn't built in a day!"
- Julien
re: salmon, don't forget the draft I sent out the other day - crypto-free private messaging over pshb. :) (sorry, the video isn't working for me, so I have no idea what you're *actually* talking about)
- Blaine
brett: :-D I'm stoked. Glad you'll be there. darren: We'll make sure everyone's voice gets heard. Except Julien's. Because he's too busy to hang out with us. :-p
- Blaine
kevin: not @jyri, ralph meijer (who was tech lead on jaiku at the time) and I. But yeah, sadness.
- Blaine
Re: what Steve was saying. I personally believe Salmon is the single most important component of the DiSo stack and it's the one that seems to be getting the least attention.
- Darren
Darren: TweetDeck and Seesmic tie Facebook and Twitter together, I'm wondering can Cliqset/Superfeedr and standards like activitystrea.ms help users and/or developers tie those particular "private" APIs together, in other words the authenticated view (friends_timeline on Twitter) of one's friends updates etc.
- Brian Hendrickson
Darren: I agree, but I think the framing on Salmon is wrong. The pattern isn't just for commenting, and framing it like that limits its usefulness.
- Blaine
Blaine : I'll be on a plane! Ill be following it from the air!
- Julien
brian: this is what salmon *should* do, and what the draft I sent out the other day proposes. I'm convinced that public-content-only PSHB isn't interesting – once we mix in private data, then things get interesting.
- Blaine
@Brian, we sort of do that today. Cliqset supports open standards, but we also integrate with proprietary APIs. We then provide APIs of our own (standards based and proprietary) to allow developers to integrate not only with Cliqset, but the services we support downstream.
- Darren
brett: when do arbitrary content types land?
- Blaine
they're not ready yet i don't think; there are security issues wrt the content payload
- Brett Slatkin
we haven't figured out how to preserve http headers for passing through the messages, which is necessary for content types that are not fully self-describing
- Brett Slatkin
alright i need to eat ttyl guys! see some folks sunday sunday sunday
- Brett Slatkin
Finally got a chance to watch Evan's interview with Scoble and it's great. Must watch for people whose curiosity about decentralized social networking has been piqued by the press about Diaspora.
- Brett Slatkin
I wonder, do they also simulate the communication lag to/from earth for voice calls and internet access? That's got to be a big part of the psychological experience, right?
- Brett Slatkin
"For a limited period of time, a bug permitted some users’ chat messages and pending friend requests to be made visible to their friends by manipulating the ‘preview my profile’ feature of Facebook privacy settings." —Facebook
- Micah
If you don't understand microformats, here's a good concrete example of how it's useful (see "prep time: 20 mins, cook time 45 mins" in first search result snippet).
- Brett Slatkin
Picture of the eruption at night! Crazy shit! Be sure to click previous/next to see all pics. I never knew volcanoes came with lightning~
- Brett Slatkin
Wait.... if somebody I follow comments to someone I *don't*, I don't see the item in my stream. Buzz doesn't have friend-of-a-friend... or am I missing something?
- Ken Sheppardson
Let us all shout from the mountains: Robert Scoble is insane.
- Karoli
Giving power users control over their experience isn't incompatible with making the system more usable to non-power users. It's a strawman.
- Ken Sheppardson
Kevin, Cliqset does that. All of that. Cliqset stream filtering gives you much more flexibility than FriendFeed or Buzz.
- Darren
Yes, exactly Darren, cliqset does this nicely.
- Kevin Marks
from Android
We need *many* different systems, each optimized for one or another kind of interaction, yet all working together...
- Bob Wyman
shouting in foursquare is kinda cool
- Chris Jackson
Hey, Kevin: Is anybody from Twitter active in the Activitystreams process?
- Ken Sheppardson
No, Ken, twitter us sadly missing from activity streams discussion
- Kevin Marks
from Android
All services should be sharing the same information but competing based on what they do with the data.
- Bob Wyman
Absolutely. It levels the playing field and becomes less about having critical mass.
- Darren
Using one versus the other will not mean sacrificing connectivity or conversation with those on other systems.
- Darren
Sharing the data means that new and innovative services can launch with a small user base and then grow. Today, a new service is forced to isolate its users from the rest of the conversation.
- Bob Wyman
with items like Activity Streams and Salmon Protocol - then sites can compete on how they expose/manage the UI/X experience. This allows users to pick the site based on how it allows them to interact with the stream.
- bear (aka Mike Taylor)
Changing the Topic: Are those iPhone or Nexus One headphones on Chris and Brett?
- Alex de Soto
In nature when a channel is that narrow it gets routed around - same will happen with Twitter soon
- bear (aka Mike Taylor)
Thanks Kevin. Yes, as Chris Messina says, we "up convert" to Activity Streams. :)
- Darren
We should all read legacy formats like RSS, but we should only write Atom...
- Bob Wyman
Virtually nobody uses rssCloud. Vastly more people use PSHB. Should we implement *all* protocols no matter how good they are or how few people use them?
- Bob Wyman
Great, first time on Friendfeed in a long time. Slow down is because of changing servers?
- Tom Landini
Would Facebook want everyone to use their API? If they really wanted everyone using the same API, wouldn't Facebook be using open standards or putting their API through open review?
- Bob Wyman
It's like Brett just mentioned - is Facebook ready internally to allow their use of a protocol to be dictated by an outside agency.
- bear (aka Mike Taylor)
Standards are like sausage... They taste good, but don't ask too many questions about how they are made.
- Bob Wyman
Standards are actually a conservative element in the overall progress of the stream.
- Cliff Gerrish
status net + identispy when there's one statusnet stream, and one buzz stream and one facebook stream, etc that something like identispy can access brings track back.
- exador23
Cliff, standards are "conservative" once adopted. But, often, the process of defining the standard is progressive since folk seek to anticipate and identify future needs. The nature of the standard depends on where you are in its life cycle.
- Bob Wyman
Google shouldn't be "releasing APIs" -- Google should be *using* openly defined APIs defined by the community. There should be NO "Buzz API" -- there should only be "APIs that Buzz uses."
- Bob Wyman
ostatus piggybacks on Atom, Activity Streams, PubSubHubbub and such. Right now, I can subscribe from identi.ca, or any website running status.net to any Buzz profile, thanks to the magic of Atom, PubSubHubbub, Activity Streams and whathaveyou. Interoperability. It's getting there. Interestingly enough, I can't subscribe to cliqset users. Must be something about their Atom implementation.
- Ed F
Errr.. The "geo guery" thing might be hard to do in a "standard" since we've still got a good bit of uncertainty in terms of what people need. But, yes, we've got to work on it.
- Bob Wyman
simplegeoinc's http://vicarious.ly example is a good one, bob. documenting the buzz geo api the mobile client uses would be good too
- Robert Scoble
Kevin, are you playing the role of Scoble?
- Cliff Gerrish
Note: There's geo stuff in HTML5 as well. Much to be considered here.
- Bob Wyman
I have scoble's gadgets bag here....
- Robert Scoble
If we had to wait for open community standards based APIs before doing anything, nothing would ever get done. Software is released in months, standards are released in years, and standards not based on field experience are useless anyway. Push forward now. Organize and consolidate later.
- Todd Hoff