RSS: push vs. pull
Hij noemt als oplossing, of denkwijze die tot een oplossing moet leiden, dat het concept waarmee RSS werkt, de boosdoener is. En dat is ook zo natuurlijk. Je (lees: jouw aggregator) moet elke keer zelf contact opnemen met de server om te kijken of er nieuwe items zijn. Zijn die er niet, dan heb je bandbreedte verspild aan de request. En aangezien een aggregator dit vaker doet dan jijzelf als mens, kan dat best oplopen.
De server zou dan ook naar de client toe moeten komen met een aanbod: "hey, ik heb nieuwe dingetjes, hebbuh?". Op deze manier kost het alleen nuttig gebruikte bandbreedte. Het is alleen wat lastiger, en ik vroeg me af of Maanvis daar al ideeën over heeft: moet de server dan gaan bijhouden welke clients items willen ontvangen? En hoe? RSS is nu een "zo, die feed staat, geen omkijken meer naar"-medium. Clients komen zelf zo af en toe 's kijken, en klaar ben je. De verantwoordelijkheid bij de server plaatsen geeft een publisher veel meer verantwoordelijkheid, meer werk te doen en dat kan, als tegenstelling van het gemak van RSS nu, ervoor zorgen dat websites 'dan maar geen feed' nemen.
Het is een leuk idee, de methode omdraaien, maar hoe wil je dat bewerkstelligen?
Ping. Vlak
voordat ik op submit druk bedenk ik me iets. Stel dat een feed een
element met daarin de update-frequentie zou hebben, en dat aggregators
die gebruiken om de ophaalmomenten op af te stemmen? Dat kost moeite
voor de publisher, want de frequentie moet berekend (en onderhouden)
worden. Goed punt. Misschien kan een aggregator dat dan zelf doen? Zelf
een frequentie berekenen en daar het schema op aanpassen? Zomaar even
een los ideetje...Ja bandbreede is bij mijn site niet opgegaan aan RSS maar z'n 1000 mensen die een filmpje ervan downloaden...
Pff
Er is met PUSH geen manier te bedenken waarbij een publisher op net zo'n makkelijke manier een RSS-feed kon implementeren als nu het geval is, eigenlijk
. Maargoed, net zoals bij RSS zou deze technologie ook in weblogsoftware geïmplementeerd moeten kunnen worden zodat men er bijna geen moeite voor hoeft te doen. Maargoed, om nog even op je verhaal terug te komen : Ja, de server zal bij moeten houden wie de items moet ontvangen, en de lezers van een feed moeten er eerst 'formeel' op subscriben, wat te doen is dmv een XMLRPC request. Zodra je een weblogitem post zul je alle IP-adressen af moeten gaan en daarnaartoe (bijv. ook dmv XMLRPC) het nieuwe weblogitem sturen. Overigens zul je met dit 'subscribe' request altijd mee moeten geven wat je laatst ontvangen item is, zodat de server alle items die nieuwer dan dat item zijn, kan sturen. Opzich is dit nog best werkbaar, maar het grootste probleem is nog wel : wat doe je als de client er niet is? Wanneer ga je dan zeggen: okay, hij is er niet, dus laten we maar stoppen met versturen? Je kan aggregators natuurlijk een 'unsubscribe' request laten sturen om aan te laten gevan dat ze niet meer geupdate hoeven te worden, maar je moet er niet vanuit gaan dat alle aggregators dit ook zullen doen (bijv. als de stroom van je PC uitvalt of je IP verandert) Ideeën zijn in ieder geval welkom ![]()
Een updatefrequentie berekenen werkt niet altijd even goed, vooral als sites maar een laag aantal nieuwsitems aanbieden. Misschien weet je nog dat ik hier ooit zelf een speeltje voor heb geprogd. http://vandedonk.nl/rssstats.php . Wat de Actieve en Absolute updatefrequenties zijn wist ik zelf niet meer, maar na wat zoekwerk kwam ik erachter dat de Actieve Updatefrequentie over alle geposte items berekend wordt, en de Absolute het 'nu' ook meetelt. Dwz als je al 30 dagen niets hebt gepost maar daarvoor een stuk of 30 berichten met telkens een uur daartussen, zal je Actieve updatefrequentie op 1 uur liggen, en je absolute updatefrequentie op 1 dag liggen
Over je idee: Nick Bradbury, de maker van Feeddemon (en topstyle en homesite) heeft er over geschreven. En het wordt het al gebruikt in Feeddemon, dus ik voel me niet schuldig :-)
http://nick.typepad.com/blog/2004/05/rss_readers_and.html
en daarna nog deze:
http://nick.typepad.com/blog/2004/07/more_on_rss_ban.html
Jort>> Feeddemon triggert op het TTL-element, dat daar eigenlijk niet voor bedoeld is
De PUSH-manier is de ingewikkelde manier, terwijl een blokkade opzetten mij ook geen probleem lijkt. Met de request van de aggregator wordt de tijd van de laatst gelezen post meegestuurd en je krijgt wel of geen toegang tot de feed.
Leukere blokkades zijn tijdslimieten waarin de feed opgehaald mag worden. Komt de aggregator uit een Europees land dan zal deze tussen 9 en 11 uur 's avonds toegang krijgen, voor andere continenten gelden andere tijden.
Zelf heb ik de scheduler op eenmaal-per-dag staan. Vaker haal ik geen feeds op.
De PUSH-manier is de ingewikkelde manier, terwijl een blokkade opzetten mij juist geen probleem lijkt. Met de request van de aggregator wordt de tijd van de laatst gelezen post meegestuurd en je krijgt wel of geen toegang tot de feed.
Leukere blokkades zijn tijdslimieten waarin de feed opgehaald mag worden. Komt de aggregator uit een Europees land dan zal deze tussen 9 en 11 uur 's avonds toegang krijgen, voor andere continenten gelden andere tijden.
Zelf heb ik sinds een tijdje de scheduler op eenmaal-per-dag staan. Vaker haal ik geen feeds op.
Maanvis: ik zie alleen in je eigen verhaal al erg veel obstakels die je methode onwerkbaar maken. Sowieso heb ik er voor FOK! geen zin in om allemaal clients te moeten pingen. Ik zou een systeem moeten maken waarin ik de clients bijhou, ik moet in alle CMS'en een ping-systeem hebben óf een centraal systeem dat af en toe (á la RSS nu) checkt of er updates zijn, en ik zou moeten gaan pingen. Hoop gedoe, tegenover even simpel een XML bestandje maken.
En hoe die frequentie precies berekend zou moeten worden, kweenie. Maar er zou best wat in kunnen zitten.
De methode voor implementatie is idd nogal kut, maar zeker niet onwerkbaar ![]()
Jammergenoeg is er geen andere methode voorhanden dan deze, alhoewel dat HTTP IS UPDATED gedoe ook wel heel goed kan werken
Bosmeneer: Ikzelf werk in ploegen, dat zou betekenen dat ik 1 week per 3 weken je feed niet kan checken omdat ik dan aan het werk ben
@Breuls: Sorry, dat komt doordat het formulier niet direct verwerkt wordt. Ik heb een uur gewacht toen pas de tekst geplaatst was.
@Maanvis: ja. Dan krijg jij van mij toegang in een ander tijdsvak. Het is nogal niet-handig om 4, 6 of 10 keer per uur een feed op te halen die 1 keer per dag of soms 1 keer per week een bericht plaatst. Dát is brandbreedte-slurpen. Nee, niets persoonlijks verder, bijna iedereen doet het, want iedereen wil als eerste weten of er een 2e 9/11-aanval uitgevoerd is.
Maar mijn eerste idee was wel iets serieuzer: je krijgt de gedeeltelijke feed te zien welke jij nog niet hebt gelezen.
Dat request-idee is idd wel een hartstikke leuk idee
Het kost wat meer scriptwerk, maar het kan een hoop dataverkeer schelen!
- Tips for Making That Vacation Adventure Video - NYTimes.com
- The Netherlands Win World Cup - CBS News
- Binnenrotte wordt omgetoverd in Oranjeplein
- Dutch celebrate football World Cup semi-final success
- DPC 2010: Sessions and Slides ? techPortal
- On Soccer - The Dutch Look Great Again. Oh, No. - NYTimes.com
- Namespaces in PHP
- Drizzle instead of MySQL?
- Suicidal mailserver
- Using Lighttpd for exceptional performance
- MySQL Conference
- My Programmer Personality Type is: DLSC
- Vimeo en Flickr
- Release Notes Replique 0.3.5
- Release Notes Replique 0.3.3
- Release Notes Replique 0.3.2


