[twitter-dev] Re: Pushing Twitter data into the clients

2009-03-15 Thread Adrian

Awesome. Right now, the onus is on the Tweet receiver to sort their
friends into groups, and pick and choose those groups they wish read
and check at any one time, like with Friendfeed. Would be great to
have Sending groups too, where the sender of Tweet chooses who shall
receive it.

On Mar 15, 11:13 am, ledil  wrote:
> Hello,
>
> if you wait another two months, you can use XMPP within blummi.com.
> Very are building a
> location-based micro-blogging service based on XMPP with realtime
> delivering of location
> based information.
>
> greets,
>
> On Mar 14, 4:26 pm, Andrew Badera  wrote:
>
> > Has Jaiku gone XMPP yet? We're having a discussion about jaiku on the
> > GAE list now. I believe XMPP is almost-but-not-quite-ready? They're
> > involved in a pubsubhub project on GAE to make it happen, if I paid
> > enough attention to that convo.
>
> > On Sat, Mar 14, 2009 at 5:59 AM, Adrian  wrote:
>
> > > Well, as much as I love Twitter, it's not on Google's infrastructure.
> > > Speaking of which, Jaiku has gone open source and supports XMPP:
>
> > >http://code.google.com/p/jaikuengine/
> > >http://code.google.com/p/jaikuengine/source/browse/trunk/doc/design_f...
>
> > > Twitter Team: maybe there's something to learn here.
>
> > > On Mar 13, 6:07 pm, Joshua Perry  wrote:
> > >> Hey, thats an interesting read, as is Robey's commentary on the Kestrel
> > >> message queuing system, but it brings up more questions for me.
>
> > >> Using a message queuing system is great for decoupling producers from
> > >> consumers, but frankly I'm surprised that they're using a polling queue
> > >> as recently as January -- however long the polling may be (250msec).
> > >> When is the last time your network card polled the switch it is
> > >> connected for the next packet in its queue?  When was the last time your
> > >> application polled the TCP stack for the next byte available in its
> > >> buffer?  Computers at their lowest level have been event driven since
> > >> the early 60's.  Any architecture with hopes of scaling should not be
> > >> based on polling.  Removing polling is usually one of the first
> > >> optimizations in a system that finds itself needing to grow beyond its
> > >> current capabilities.
>
> > >> Also, queuing systems don't lend themselves terribly well to the concept
> > >> of a pub-sub model.  In a multicast model the a message is placed on a
> > >> queue and any interested parties can listen to that queue and work on
> > >> messages from it; this is not much better than the firehose method, as
> > >> the data is actually duplicated and blasted to the endpoints at the
> > >> network layer.  So while a multicast model is somewhat well-suited to
> > >> the Twitter backbone I don't see it being useful outside of that
> > >> backbone.  In a unicast model a queue is not much more than a decoupling
> > >> abstraction between the producer and the consumer.
>
> > >> I don't know what size their internal message data structure looks like,
> > >> but assuming a message of around 1KB -- should be easy to get to this
> > >> size passing around unicode -- their queue would exhaust its128MB of
> > >> memory cache after only 128000 messages.  I don't know if their servers
> > >> are memory constrained, they have a large number of queues, this comes
> > >> from throughput testing, or they are just optimizing early; with a
> > >> "small" server these days able to be configured with upwards of 24GB of
> > >> RAM, this number seems low.
>
> > >> Its easy to stand outside of their design -- and what I'm sure have been
> > >> hundreds of hours of discussions and meetings -- and criticize their
> > >> system but I hope that there is some constructive criticism in this
> > >> discussion.  With the reliance that Twitter puts on open-source software
> > >> I believe they also value open discussion.
>
> > >> Josh
>
> > >> Andrew Badera wrote:
> > >> > Last I'd checked, the whole "Twitter needs to rebuild as a messaging
> > >> > architecture" conversation is many months old, and probably well on
> > >> > its way to being implemented.
>
> > >> >http://blog.twitter.com/2009/01/building-on-open-source.html
>
> > >> > On Thu, Mar 12, 2009 at 9:19 PM, Joshua Perry  wrote:
>
> > >> >> I actually hopped on to request a stopgap feature in a similar vein 
> > >> >> and saw
> > >> >> this thread so I thought I'd add kind of a free-associative reply.  
> > >> >> You
> > >> >> know, thinking out-loud.
>
> > >> >> I think the biggest problem with push is that polling is too 
> > >> >> ingrained into
> > >> >> Twitter's architecture to be able to bolt-on push tech without it 
> > >> >> being more
> > >> >> expensive than the current pull methods.
>
> > >> >> Picture the current architecture, back-end MySql, http server, and 
> > >> >> memory
> > >> >> cache.  When a user posts a tweet it gets written to cache and 
> > >> >> persisted to
> > >> >> the DB, where is the hook for someone that wants to be pushed that 
> > >> >> tweet?
> > >> >> 

[twitter-dev] Re: Pushing Twitter data into the clients

2009-03-15 Thread Adrian

Praise the lord, of course; but you can't say YouTube has not sped up
upon integration into Google's tech stack? (Big Table, Google FS)
http://www.techcrunchit.com/2008/07/16/google-where-companies-go-to-die/
I do think my comment may not have been wholly appropriate given
Twitter's much, much better now.

On Mar 14, 5:06 pm, Cameron Kaiser  wrote:
> > Well, as much as I love Twitter, it's not on Google's infrastructure.
>
> *cough*praisethelord*cough*
>
> --
>  personal:http://www.cameronkaiser.com/--
>   Cameron Kaiser * Floodgap Systems *www.floodgap.com* ckai...@floodgap.com
> -- Please dispose of this message in the usual manner. -- Mission: Impossible 
> -


[twitter-dev] Re: Pushing Twitter data into the clients

2009-03-15 Thread ledil

Hello,

if you wait another two months, you can use XMPP within blummi.com.
Very are building a
location-based micro-blogging service based on XMPP with realtime
delivering of location
based information.

greets,

On Mar 14, 4:26 pm, Andrew Badera  wrote:
> Has Jaiku gone XMPP yet? We're having a discussion about jaiku on the
> GAE list now. I believe XMPP is almost-but-not-quite-ready? They're
> involved in a pubsubhub project on GAE to make it happen, if I paid
> enough attention to that convo.
>
> On Sat, Mar 14, 2009 at 5:59 AM, Adrian  wrote:
>
> > Well, as much as I love Twitter, it's not on Google's infrastructure.
> > Speaking of which, Jaiku has gone open source and supports XMPP:
>
> >http://code.google.com/p/jaikuengine/
> >http://code.google.com/p/jaikuengine/source/browse/trunk/doc/design_f...
>
> > Twitter Team: maybe there's something to learn here.
>
> > On Mar 13, 6:07 pm, Joshua Perry  wrote:
> >> Hey, thats an interesting read, as is Robey's commentary on the Kestrel
> >> message queuing system, but it brings up more questions for me.
>
> >> Using a message queuing system is great for decoupling producers from
> >> consumers, but frankly I'm surprised that they're using a polling queue
> >> as recently as January -- however long the polling may be (250msec).
> >> When is the last time your network card polled the switch it is
> >> connected for the next packet in its queue?  When was the last time your
> >> application polled the TCP stack for the next byte available in its
> >> buffer?  Computers at their lowest level have been event driven since
> >> the early 60's.  Any architecture with hopes of scaling should not be
> >> based on polling.  Removing polling is usually one of the first
> >> optimizations in a system that finds itself needing to grow beyond its
> >> current capabilities.
>
> >> Also, queuing systems don't lend themselves terribly well to the concept
> >> of a pub-sub model.  In a multicast model the a message is placed on a
> >> queue and any interested parties can listen to that queue and work on
> >> messages from it; this is not much better than the firehose method, as
> >> the data is actually duplicated and blasted to the endpoints at the
> >> network layer.  So while a multicast model is somewhat well-suited to
> >> the Twitter backbone I don't see it being useful outside of that
> >> backbone.  In a unicast model a queue is not much more than a decoupling
> >> abstraction between the producer and the consumer.
>
> >> I don't know what size their internal message data structure looks like,
> >> but assuming a message of around 1KB -- should be easy to get to this
> >> size passing around unicode -- their queue would exhaust its128MB of
> >> memory cache after only 128000 messages.  I don't know if their servers
> >> are memory constrained, they have a large number of queues, this comes
> >> from throughput testing, or they are just optimizing early; with a
> >> "small" server these days able to be configured with upwards of 24GB of
> >> RAM, this number seems low.
>
> >> Its easy to stand outside of their design -- and what I'm sure have been
> >> hundreds of hours of discussions and meetings -- and criticize their
> >> system but I hope that there is some constructive criticism in this
> >> discussion.  With the reliance that Twitter puts on open-source software
> >> I believe they also value open discussion.
>
> >> Josh
>
> >> Andrew Badera wrote:
> >> > Last I'd checked, the whole "Twitter needs to rebuild as a messaging
> >> > architecture" conversation is many months old, and probably well on
> >> > its way to being implemented.
>
> >> >http://blog.twitter.com/2009/01/building-on-open-source.html
>
> >> > On Thu, Mar 12, 2009 at 9:19 PM, Joshua Perry  wrote:
>
> >> >> I actually hopped on to request a stopgap feature in a similar vein and 
> >> >> saw
> >> >> this thread so I thought I'd add kind of a free-associative reply.  You
> >> >> know, thinking out-loud.
>
> >> >> I think the biggest problem with push is that polling is too ingrained 
> >> >> into
> >> >> Twitter's architecture to be able to bolt-on push tech without it being 
> >> >> more
> >> >> expensive than the current pull methods.
>
> >> >> Picture the current architecture, back-end MySql, http server, and 
> >> >> memory
> >> >> cache.  When a user posts a tweet it gets written to cache and 
> >> >> persisted to
> >> >> the DB, where is the hook for someone that wants to be pushed that 
> >> >> tweet?
> >> >> An interested party needs to be constantly checking the cache/DB for 
> >> >> changes
> >> >> in order to see any.  In order to bolt push onto such an architecture 
> >> >> would
> >> >> require some shim layer to do a sort of tight polling loop to see new
> >> >> updates and then push those updates to the waiting client.
>
> >> >> Until Twitter's architecture treats the data like what it actually is 
> >> >> -- a
> >> >> stream of messages -- at all levels, it won't be able to provide 

[twitter-dev] Re: Pushing Twitter data into the clients

2009-03-14 Thread Andrew Badera

Has Jaiku gone XMPP yet? We're having a discussion about jaiku on the
GAE list now. I believe XMPP is almost-but-not-quite-ready? They're
involved in a pubsubhub project on GAE to make it happen, if I paid
enough attention to that convo.


On Sat, Mar 14, 2009 at 5:59 AM, Adrian  wrote:
>
> Well, as much as I love Twitter, it's not on Google's infrastructure.
> Speaking of which, Jaiku has gone open source and supports XMPP:
>
> http://code.google.com/p/jaikuengine/
> http://code.google.com/p/jaikuengine/source/browse/trunk/doc/design_funument.txt
>
> Twitter Team: maybe there's something to learn here.
>
>
> On Mar 13, 6:07 pm, Joshua Perry  wrote:
>> Hey, thats an interesting read, as is Robey's commentary on the Kestrel
>> message queuing system, but it brings up more questions for me.
>>
>> Using a message queuing system is great for decoupling producers from
>> consumers, but frankly I'm surprised that they're using a polling queue
>> as recently as January -- however long the polling may be (250msec).
>> When is the last time your network card polled the switch it is
>> connected for the next packet in its queue?  When was the last time your
>> application polled the TCP stack for the next byte available in its
>> buffer?  Computers at their lowest level have been event driven since
>> the early 60's.  Any architecture with hopes of scaling should not be
>> based on polling.  Removing polling is usually one of the first
>> optimizations in a system that finds itself needing to grow beyond its
>> current capabilities.
>>
>> Also, queuing systems don't lend themselves terribly well to the concept
>> of a pub-sub model.  In a multicast model the a message is placed on a
>> queue and any interested parties can listen to that queue and work on
>> messages from it; this is not much better than the firehose method, as
>> the data is actually duplicated and blasted to the endpoints at the
>> network layer.  So while a multicast model is somewhat well-suited to
>> the Twitter backbone I don't see it being useful outside of that
>> backbone.  In a unicast model a queue is not much more than a decoupling
>> abstraction between the producer and the consumer.
>>
>> I don't know what size their internal message data structure looks like,
>> but assuming a message of around 1KB -- should be easy to get to this
>> size passing around unicode -- their queue would exhaust its128MB of
>> memory cache after only 128000 messages.  I don't know if their servers
>> are memory constrained, they have a large number of queues, this comes
>> from throughput testing, or they are just optimizing early; with a
>> "small" server these days able to be configured with upwards of 24GB of
>> RAM, this number seems low.
>>
>> Its easy to stand outside of their design -- and what I'm sure have been
>> hundreds of hours of discussions and meetings -- and criticize their
>> system but I hope that there is some constructive criticism in this
>> discussion.  With the reliance that Twitter puts on open-source software
>> I believe they also value open discussion.
>>
>> Josh
>>
>> Andrew Badera wrote:
>> > Last I'd checked, the whole "Twitter needs to rebuild as a messaging
>> > architecture" conversation is many months old, and probably well on
>> > its way to being implemented.
>>
>> >http://blog.twitter.com/2009/01/building-on-open-source.html
>>
>> > On Thu, Mar 12, 2009 at 9:19 PM, Joshua Perry  wrote:
>>
>> >> I actually hopped on to request a stopgap feature in a similar vein and 
>> >> saw
>> >> this thread so I thought I'd add kind of a free-associative reply.  You
>> >> know, thinking out-loud.
>>
>> >> I think the biggest problem with push is that polling is too ingrained 
>> >> into
>> >> Twitter's architecture to be able to bolt-on push tech without it being 
>> >> more
>> >> expensive than the current pull methods.
>>
>> >> Picture the current architecture, back-end MySql, http server, and memory
>> >> cache.  When a user posts a tweet it gets written to cache and persisted 
>> >> to
>> >> the DB, where is the hook for someone that wants to be pushed that tweet?
>> >> An interested party needs to be constantly checking the cache/DB for 
>> >> changes
>> >> in order to see any.  In order to bolt push onto such an architecture 
>> >> would
>> >> require some shim layer to do a sort of tight polling loop to see new
>> >> updates and then push those updates to the waiting client.
>>
>> >> Until Twitter's architecture treats the data like what it actually is -- a
>> >> stream of messages -- at all levels, it won't be able to provide 
>> >> efficiently
>> >> provide push functionality without the current giant firehose with a 
>> >> filter
>> >> method
>>
>> >> Once twitter has designed and implemented their tweet-router(tm) it will 
>> >> be
>> >> quite easy for clients to register as endpoints and it will be much much
>> >> cheaper infrastructure-wise than polling currently is.  Really, this 
>> >> problem
>> >> has been solved in 

[twitter-dev] Re: Pushing Twitter data into the clients

2009-03-14 Thread Cameron Kaiser

> Well, as much as I love Twitter, it's not on Google's infrastructure.

*cough*praisethelord*cough*

-- 
 personal: http://www.cameronkaiser.com/ --
  Cameron Kaiser * Floodgap Systems * www.floodgap.com * ckai...@floodgap.com
-- Please dispose of this message in the usual manner. -- Mission: Impossible -


[twitter-dev] Re: Pushing Twitter data into the clients

2009-03-14 Thread Adrian

Well, as much as I love Twitter, it's not on Google's infrastructure.
Speaking of which, Jaiku has gone open source and supports XMPP:

http://code.google.com/p/jaikuengine/
http://code.google.com/p/jaikuengine/source/browse/trunk/doc/design_funument.txt

Twitter Team: maybe there's something to learn here.


On Mar 13, 6:07 pm, Joshua Perry  wrote:
> Hey, thats an interesting read, as is Robey's commentary on the Kestrel
> message queuing system, but it brings up more questions for me.
>
> Using a message queuing system is great for decoupling producers from
> consumers, but frankly I'm surprised that they're using a polling queue
> as recently as January -- however long the polling may be (250msec).  
> When is the last time your network card polled the switch it is
> connected for the next packet in its queue?  When was the last time your
> application polled the TCP stack for the next byte available in its
> buffer?  Computers at their lowest level have been event driven since
> the early 60's.  Any architecture with hopes of scaling should not be
> based on polling.  Removing polling is usually one of the first
> optimizations in a system that finds itself needing to grow beyond its
> current capabilities.
>
> Also, queuing systems don't lend themselves terribly well to the concept
> of a pub-sub model.  In a multicast model the a message is placed on a
> queue and any interested parties can listen to that queue and work on
> messages from it; this is not much better than the firehose method, as
> the data is actually duplicated and blasted to the endpoints at the
> network layer.  So while a multicast model is somewhat well-suited to
> the Twitter backbone I don't see it being useful outside of that
> backbone.  In a unicast model a queue is not much more than a decoupling
> abstraction between the producer and the consumer.
>
> I don't know what size their internal message data structure looks like,
> but assuming a message of around 1KB -- should be easy to get to this
> size passing around unicode -- their queue would exhaust its128MB of
> memory cache after only 128000 messages.  I don't know if their servers
> are memory constrained, they have a large number of queues, this comes
> from throughput testing, or they are just optimizing early; with a
> "small" server these days able to be configured with upwards of 24GB of
> RAM, this number seems low.
>
> Its easy to stand outside of their design -- and what I'm sure have been
> hundreds of hours of discussions and meetings -- and criticize their
> system but I hope that there is some constructive criticism in this
> discussion.  With the reliance that Twitter puts on open-source software
> I believe they also value open discussion.
>
> Josh
>
> Andrew Badera wrote:
> > Last I'd checked, the whole "Twitter needs to rebuild as a messaging
> > architecture" conversation is many months old, and probably well on
> > its way to being implemented.
>
> >http://blog.twitter.com/2009/01/building-on-open-source.html
>
> > On Thu, Mar 12, 2009 at 9:19 PM, Joshua Perry  wrote:
>
> >> I actually hopped on to request a stopgap feature in a similar vein and saw
> >> this thread so I thought I'd add kind of a free-associative reply.  You
> >> know, thinking out-loud.
>
> >> I think the biggest problem with push is that polling is too ingrained into
> >> Twitter's architecture to be able to bolt-on push tech without it being 
> >> more
> >> expensive than the current pull methods.
>
> >> Picture the current architecture, back-end MySql, http server, and memory
> >> cache.  When a user posts a tweet it gets written to cache and persisted to
> >> the DB, where is the hook for someone that wants to be pushed that tweet?
> >> An interested party needs to be constantly checking the cache/DB for 
> >> changes
> >> in order to see any.  In order to bolt push onto such an architecture would
> >> require some shim layer to do a sort of tight polling loop to see new
> >> updates and then push those updates to the waiting client.
>
> >> Until Twitter's architecture treats the data like what it actually is -- a
> >> stream of messages -- at all levels, it won't be able to provide 
> >> efficiently
> >> provide push functionality without the current giant firehose with a filter
> >> method
>
> >> Once twitter has designed and implemented their tweet-router(tm) it will be
> >> quite easy for clients to register as endpoints and it will be much much
> >> cheaper infrastructure-wise than polling currently is.  Really, this 
> >> problem
> >> has been solved in software and in hardware by many companies since before
> >> Ethernet.  Tell me why distributing a tweet is much different than a
> >> multicast TCP/IP message?  The database is an endpoint connected to the
> >> tweet-router and just persists messages and still serves a pull REST api 
> >> for
> >> the initial client cache-charge or web page display.  An incoming message's
> >> from-user-id could be used as a multicast add

[twitter-dev] Re: Pushing Twitter data into the clients

2009-03-13 Thread Joshua Perry


Hey, thats an interesting read, as is Robey's commentary on the Kestrel 
message queuing system, but it brings up more questions for me.


Using a message queuing system is great for decoupling producers from 
consumers, but frankly I'm surprised that they're using a polling queue 
as recently as January -- however long the polling may be (250msec).  
When is the last time your network card polled the switch it is 
connected for the next packet in its queue?  When was the last time your 
application polled the TCP stack for the next byte available in its 
buffer?  Computers at their lowest level have been event driven since 
the early 60's.  Any architecture with hopes of scaling should not be 
based on polling.  Removing polling is usually one of the first 
optimizations in a system that finds itself needing to grow beyond its 
current capabilities.


Also, queuing systems don't lend themselves terribly well to the concept 
of a pub-sub model.  In a multicast model the a message is placed on a 
queue and any interested parties can listen to that queue and work on 
messages from it; this is not much better than the firehose method, as 
the data is actually duplicated and blasted to the endpoints at the 
network layer.  So while a multicast model is somewhat well-suited to 
the Twitter backbone I don't see it being useful outside of that 
backbone.  In a unicast model a queue is not much more than a decoupling 
abstraction between the producer and the consumer.


I don't know what size their internal message data structure looks like, 
but assuming a message of around 1KB -- should be easy to get to this 
size passing around unicode -- their queue would exhaust its128MB of 
memory cache after only 128000 messages.  I don't know if their servers 
are memory constrained, they have a large number of queues, this comes 
from throughput testing, or they are just optimizing early; with a 
"small" server these days able to be configured with upwards of 24GB of 
RAM, this number seems low.


Its easy to stand outside of their design -- and what I'm sure have been 
hundreds of hours of discussions and meetings -- and criticize their 
system but I hope that there is some constructive criticism in this 
discussion.  With the reliance that Twitter puts on open-source software 
I believe they also value open discussion.


Josh

Andrew Badera wrote:

Last I'd checked, the whole "Twitter needs to rebuild as a messaging
architecture" conversation is many months old, and probably well on
its way to being implemented.

http://blog.twitter.com/2009/01/building-on-open-source.html



On Thu, Mar 12, 2009 at 9:19 PM, Joshua Perry  wrote:
  

I actually hopped on to request a stopgap feature in a similar vein and saw
this thread so I thought I'd add kind of a free-associative reply.  You
know, thinking out-loud.

I think the biggest problem with push is that polling is too ingrained into
Twitter's architecture to be able to bolt-on push tech without it being more
expensive than the current pull methods.

Picture the current architecture, back-end MySql, http server, and memory
cache.  When a user posts a tweet it gets written to cache and persisted to
the DB, where is the hook for someone that wants to be pushed that tweet?
An interested party needs to be constantly checking the cache/DB for changes
in order to see any.  In order to bolt push onto such an architecture would
require some shim layer to do a sort of tight polling loop to see new
updates and then push those updates to the waiting client.

Until Twitter's architecture treats the data like what it actually is -- a
stream of messages -- at all levels, it won't be able to provide efficiently
provide push functionality without the current giant firehose with a filter
method

Once twitter has designed and implemented their tweet-router(tm) it will be
quite easy for clients to register as endpoints and it will be much much
cheaper infrastructure-wise than polling currently is.  Really, this problem
has been solved in software and in hardware by many companies since before
Ethernet.  Tell me why distributing a tweet is much different than a
multicast TCP/IP message?  The database is an endpoint connected to the
tweet-router and just persists messages and still serves a pull REST api for
the initial client cache-charge or web page display.  An incoming message's
from-user-id could be used as a multicast address and be routed quite
efficiently to any connected client endpoint "listening" to that address.

If the firehose is a hub with a giant broadcast domain, then tweet-router is
a router behind a switch.

Maybe thats silly but its what I've been thinking about.

Josh

Alex Payne wrote:

We're going to be offering exactly that (a long-polling firehose) to
select partners to build on. Please see our FAQ for more information.

Providing a realtime solution for the rest of the API is a lot more
challenging than just hooking up XMPP. If the technology was there,
we'd do it. Bu

[twitter-dev] Re: Pushing Twitter data into the clients

2009-03-13 Thread Andrew Badera

Last I'd checked, the whole "Twitter needs to rebuild as a messaging
architecture" conversation is many months old, and probably well on
its way to being implemented.

http://blog.twitter.com/2009/01/building-on-open-source.html



On Thu, Mar 12, 2009 at 9:19 PM, Joshua Perry  wrote:
> I actually hopped on to request a stopgap feature in a similar vein and saw
> this thread so I thought I'd add kind of a free-associative reply.  You
> know, thinking out-loud.
>
> I think the biggest problem with push is that polling is too ingrained into
> Twitter's architecture to be able to bolt-on push tech without it being more
> expensive than the current pull methods.
>
> Picture the current architecture, back-end MySql, http server, and memory
> cache.  When a user posts a tweet it gets written to cache and persisted to
> the DB, where is the hook for someone that wants to be pushed that tweet?
> An interested party needs to be constantly checking the cache/DB for changes
> in order to see any.  In order to bolt push onto such an architecture would
> require some shim layer to do a sort of tight polling loop to see new
> updates and then push those updates to the waiting client.
>
> Until Twitter's architecture treats the data like what it actually is -- a
> stream of messages -- at all levels, it won't be able to provide efficiently
> provide push functionality without the current giant firehose with a filter
> method
>
> Once twitter has designed and implemented their tweet-router(tm) it will be
> quite easy for clients to register as endpoints and it will be much much
> cheaper infrastructure-wise than polling currently is.  Really, this problem
> has been solved in software and in hardware by many companies since before
> Ethernet.  Tell me why distributing a tweet is much different than a
> multicast TCP/IP message?  The database is an endpoint connected to the
> tweet-router and just persists messages and still serves a pull REST api for
> the initial client cache-charge or web page display.  An incoming message's
> from-user-id could be used as a multicast address and be routed quite
> efficiently to any connected client endpoint "listening" to that address.
>
> If the firehose is a hub with a giant broadcast domain, then tweet-router is
> a router behind a switch.
>
> Maybe thats silly but its what I've been thinking about.
>
> Josh
>
> Alex Payne wrote:
>
> We're going to be offering exactly that (a long-polling firehose) to
> select partners to build on. Please see our FAQ for more information.
>
> Providing a realtime solution for the rest of the API is a lot more
> challenging than just hooking up XMPP. If the technology was there,
> we'd do it. But we've investigated and benchmarked, and it isn't. We
> also want to provide something with a lower barrier to entry when
> we're ready to go down that road.
>
> We understand that power users are very excited about "realtime", but
> the majority of users and developers are still getting up to speed
> with Twitter's basic offerings. Accordingly, that's where our energies
> are at right now.
>
> On Thu, Mar 12, 2009 at 16:08, Sam Sethi  wrote:
>
>
> Please can we get a Twitter xmpp feed. If Twitter are not going to offer
> this can they allow GNIP to go live. GNIP say Twitter are not allowing them
> to offer the firehose via xmpp to developers. Why? Pull based polling is
> last year. Maybe at the least Twitter could offer a Long polling option like
> friendfeed to give a psuedo realtime feed
>
> Thanks in advance
>
> Sam
>
> W: www.twitblogs.com
>
> Sent from my iPhone
>
> On 12 Mar 2009, at 21:21, Alex Payne  wrote:
>
>
>
> POST requests are unlimited.
>
> We used to support XMPP as an experimental feature, but we don't
> currently.
>
> Delivering push features at our scale is a challenge. We're currently
> making our traditional REST request/response APIs the best they can
> be. In the future, maybe we'll tackle push as well. In the medium
> term, select partners will be able to have tweets pushed to them over
> HTTP via our "firehose" mechanism.
>
> As Andrew suggested, there's been quite a lot of discussion on these
> topics in this group and elsewhere on the web.
>
> On Thu, Mar 12, 2009 at 13:55, Adrian  wrote:
>
>
> Hi there, I was wondering if it's possible to push data, rather than
> have the content pulled with JSON or XML fetches. You can poll after
> set amounts of time, but that only present the illusion of Push, and
> uses up bandwith.
>
> Also, is the API limit applied to POST requests?
>
> Lastly, has Twitter thought about implementing XMPP.
>
>
>
> --
> Alex Payne - API Lead, Twitter, Inc.
> http://twitter.com/al3x
>
>
>
>


[twitter-dev] Re: Pushing Twitter data into the clients

2009-03-12 Thread Joshua Perry
I actually hopped on to request a stopgap feature in a similar vein and 
saw this thread so I thought I'd add kind of a free-associative reply.  
You know, thinking out-loud.


I think the biggest problem with push is that polling is too ingrained 
into Twitter's architecture to be able to bolt-on push tech without it 
being more expensive than the current pull methods.


Picture the current architecture, back-end MySql, http server, and 
memory cache.  When a user posts a tweet it gets written to cache and 
persisted to the DB, where is the hook for someone that wants to be 
pushed that tweet?  An interested party needs to be constantly checking 
the cache/DB for changes in order to see any.  In order to bolt push 
onto such an architecture would require some shim layer to do a sort of 
tight polling loop to see new updates and then push those updates to the 
waiting client.


Until Twitter's architecture treats the data like what it actually is -- 
a stream of messages -- at all levels, it won't be able to provide 
efficiently provide push functionality without the current giant 
firehose with a filter method


Once twitter has designed and implemented their tweet-router(tm) it will 
be quite easy for clients to register as endpoints and it will be much 
much cheaper infrastructure-wise than polling currently is.  Really, 
this problem has been solved in software and in hardware by many 
companies since before Ethernet.  Tell me why distributing a tweet is 
much different than a multicast TCP/IP message?  The database is an 
endpoint connected to the tweet-router and just persists messages and 
still serves a pull REST api for the initial client cache-charge or web 
page display.  An incoming message's from-user-id could be used as a 
multicast address and be routed quite efficiently to any connected 
client endpoint "listening" to that address.


If the firehose is a hub with a giant broadcast domain, then 
tweet-router is a router behind a switch.


Maybe thats silly but its what I've been thinking about.

Josh

Alex Payne wrote:

We're going to be offering exactly that (a long-polling firehose) to
select partners to build on. Please see our FAQ for more information.

Providing a realtime solution for the rest of the API is a lot more
challenging than just hooking up XMPP. If the technology was there,
we'd do it. But we've investigated and benchmarked, and it isn't. We
also want to provide something with a lower barrier to entry when
we're ready to go down that road.

We understand that power users are very excited about "realtime", but
the majority of users and developers are still getting up to speed
with Twitter's basic offerings. Accordingly, that's where our energies
are at right now.

On Thu, Mar 12, 2009 at 16:08, Sam Sethi  wrote:
  

Please can we get a Twitter xmpp feed. If Twitter are not going to offer
this can they allow GNIP to go live. GNIP say Twitter are not allowing them
to offer the firehose via xmpp to developers. Why? Pull based polling is
last year. Maybe at the least Twitter could offer a Long polling option like
friendfeed to give a psuedo realtime feed

Thanks in advance

Sam

W: www.twitblogs.com

Sent from my iPhone

On 12 Mar 2009, at 21:21, Alex Payne  wrote:



POST requests are unlimited.

We used to support XMPP as an experimental feature, but we don't
currently.

Delivering push features at our scale is a challenge. We're currently
making our traditional REST request/response APIs the best they can
be. In the future, maybe we'll tackle push as well. In the medium
term, select partners will be able to have tweets pushed to them over
HTTP via our "firehose" mechanism.

As Andrew suggested, there's been quite a lot of discussion on these
topics in this group and elsewhere on the web.

On Thu, Mar 12, 2009 at 13:55, Adrian  wrote:
  

Hi there, I was wondering if it's possible to push data, rather than
have the content pulled with JSON or XML fetches. You can poll after
set amounts of time, but that only present the illusion of Push, and
uses up bandwith.

Also, is the API limit applied to POST requests?

Lastly, has Twitter thought about implementing XMPP.




--
Alex Payne - API Lead, Twitter, Inc.
http://twitter.com/al3x
  




  




[twitter-dev] Re: Pushing Twitter data into the clients

2009-03-12 Thread Alex Payne

We're going to be offering exactly that (a long-polling firehose) to
select partners to build on. Please see our FAQ for more information.

Providing a realtime solution for the rest of the API is a lot more
challenging than just hooking up XMPP. If the technology was there,
we'd do it. But we've investigated and benchmarked, and it isn't. We
also want to provide something with a lower barrier to entry when
we're ready to go down that road.

We understand that power users are very excited about "realtime", but
the majority of users and developers are still getting up to speed
with Twitter's basic offerings. Accordingly, that's where our energies
are at right now.

On Thu, Mar 12, 2009 at 16:08, Sam Sethi  wrote:
>
> Please can we get a Twitter xmpp feed. If Twitter are not going to offer
> this can they allow GNIP to go live. GNIP say Twitter are not allowing them
> to offer the firehose via xmpp to developers. Why? Pull based polling is
> last year. Maybe at the least Twitter could offer a Long polling option like
> friendfeed to give a psuedo realtime feed
>
> Thanks in advance
>
> Sam
>
> W: www.twitblogs.com
>
> Sent from my iPhone
>
> On 12 Mar 2009, at 21:21, Alex Payne  wrote:
>
>>
>> POST requests are unlimited.
>>
>> We used to support XMPP as an experimental feature, but we don't
>> currently.
>>
>> Delivering push features at our scale is a challenge. We're currently
>> making our traditional REST request/response APIs the best they can
>> be. In the future, maybe we'll tackle push as well. In the medium
>> term, select partners will be able to have tweets pushed to them over
>> HTTP via our "firehose" mechanism.
>>
>> As Andrew suggested, there's been quite a lot of discussion on these
>> topics in this group and elsewhere on the web.
>>
>> On Thu, Mar 12, 2009 at 13:55, Adrian  wrote:
>>>
>>> Hi there, I was wondering if it's possible to push data, rather than
>>> have the content pulled with JSON or XML fetches. You can poll after
>>> set amounts of time, but that only present the illusion of Push, and
>>> uses up bandwith.
>>>
>>> Also, is the API limit applied to POST requests?
>>>
>>> Lastly, has Twitter thought about implementing XMPP.
>>>
>>
>>
>>
>> --
>> Alex Payne - API Lead, Twitter, Inc.
>> http://twitter.com/al3x
>



-- 
Alex Payne - API Lead, Twitter, Inc.
http://twitter.com/al3x


[twitter-dev] Re: Pushing Twitter data into the clients

2009-03-12 Thread Sam Sethi


Please can we get a Twitter xmpp feed. If Twitter are not going to  
offer this can they allow GNIP to go live. GNIP say Twitter are not  
allowing them to offer the firehose via xmpp to developers. Why? Pull  
based polling is last year. Maybe at the least Twitter could offer a  
Long polling option like friendfeed to give a psuedo realtime feed


Thanks in advance

Sam

W: www.twitblogs.com

Sent from my iPhone

On 12 Mar 2009, at 21:21, Alex Payne  wrote:



POST requests are unlimited.

We used to support XMPP as an experimental feature, but we don't  
currently.


Delivering push features at our scale is a challenge. We're currently
making our traditional REST request/response APIs the best they can
be. In the future, maybe we'll tackle push as well. In the medium
term, select partners will be able to have tweets pushed to them over
HTTP via our "firehose" mechanism.

As Andrew suggested, there's been quite a lot of discussion on these
topics in this group and elsewhere on the web.

On Thu, Mar 12, 2009 at 13:55, Adrian  wrote:


Hi there, I was wondering if it's possible to push data, rather than
have the content pulled with JSON or XML fetches. You can poll after
set amounts of time, but that only present the illusion of Push, and
uses up bandwith.

Also, is the API limit applied to POST requests?

Lastly, has Twitter thought about implementing XMPP.





--
Alex Payne - API Lead, Twitter, Inc.
http://twitter.com/al3x


[twitter-dev] Re: Pushing Twitter data into the clients

2009-03-12 Thread Adrian

Well, here are some good links behind XMPP:
http://xmpp.org/
http://metajack.im/ (key XMPP advocate and founder of http://www.chesspark.com/
)


On Mar 12, 11:05 pm, Andrew Badera  wrote:
> What is this "XMPP" of which you speak? Tell us more!
>
> PS: Read the docs? FAQs? This list's archive? Used Google? Ever?
>
> On Thu, Mar 12, 2009 at 3:55 PM, Adrian  wrote:
>
> > Hi there, I was wondering if it's possible to push data, rather than
> > have the content pulled with JSON or XML fetches. You can poll after
> > set amounts of time, but that only present the illusion of Push, and
> > uses up bandwith.
>
> > Also, is the API limit applied to POST requests?
>
> > Lastly, has Twitter thought about implementing XMPP.


[twitter-dev] Re: Pushing Twitter data into the clients

2009-03-12 Thread Adrian

Great, well that's a start, and obviously the goal is to have IM like
performance in Twitter. Maybe there's an engineer out there that can
help with the problem.

On Mar 12, 11:21 pm, Alex Payne  wrote:
> POST requests are unlimited.
>
> We used to support XMPP as an experimental feature, but we don't currently.
>
> Delivering push features at our scale is a challenge. We're currently
> making our traditional REST request/response APIs the best they can
> be. In the future, maybe we'll tackle push as well. In the medium
> term, select partners will be able to have tweets pushed to them over
> HTTP via our "firehose" mechanism.
>
> As Andrew suggested, there's been quite a lot of discussion on these
> topics in this group and elsewhere on the web.
>
> On Thu, Mar 12, 2009 at 13:55, Adrian  wrote:
>
> > Hi there, I was wondering if it's possible to push data, rather than
> > have the content pulled with JSON or XML fetches. You can poll after
> > set amounts of time, but that only present the illusion of Push, and
> > uses up bandwith.
>
> > Also, is the API limit applied to POST requests?
>
> > Lastly, has Twitter thought about implementing XMPP.
>
> --
> Alex Payne - API Lead, Twitter, Inc.http://twitter.com/al3x


[twitter-dev] Re: Pushing Twitter data into the clients

2009-03-12 Thread Alex Payne

POST requests are unlimited.

We used to support XMPP as an experimental feature, but we don't currently.

Delivering push features at our scale is a challenge. We're currently
making our traditional REST request/response APIs the best they can
be. In the future, maybe we'll tackle push as well. In the medium
term, select partners will be able to have tweets pushed to them over
HTTP via our "firehose" mechanism.

As Andrew suggested, there's been quite a lot of discussion on these
topics in this group and elsewhere on the web.

On Thu, Mar 12, 2009 at 13:55, Adrian  wrote:
>
> Hi there, I was wondering if it's possible to push data, rather than
> have the content pulled with JSON or XML fetches. You can poll after
> set amounts of time, but that only present the illusion of Push, and
> uses up bandwith.
>
> Also, is the API limit applied to POST requests?
>
> Lastly, has Twitter thought about implementing XMPP.
>



-- 
Alex Payne - API Lead, Twitter, Inc.
http://twitter.com/al3x


[twitter-dev] Re: Pushing Twitter data into the clients

2009-03-12 Thread Andrew Badera

What is this "XMPP" of which you speak? Tell us more!

PS: Read the docs? FAQs? This list's archive? Used Google? Ever?



On Thu, Mar 12, 2009 at 3:55 PM, Adrian  wrote:
>
> Hi there, I was wondering if it's possible to push data, rather than
> have the content pulled with JSON or XML fetches. You can poll after
> set amounts of time, but that only present the illusion of Push, and
> uses up bandwith.
>
> Also, is the API limit applied to POST requests?
>
> Lastly, has Twitter thought about implementing XMPP.
>