Categorieën
Techtalk

Twitterrank en het pasword anti-pattern

Sinds een dag of wat is er een leuk nieuw speeltje: Twitterrank, ontwikkeld op een paar uur tijd door een onafhankelijke ontwikkelaar die iets leuks wou doen met Twitter. Het idee is simpel: meten hoeveel mensen er @replies naar jou sturen en die data aggregeren in een percentiel. Wat de man niet verwacht had, was het gigantische succes dat volgde: nog geen paar uur na release hadden een goede 2,000 twitteraars hun twitterrank via de website opgevraagd.

Het verhaal kent echter een aangebrand kantje. Twitterrank vraagt, net als de meeste andere Twitter apps, immers om je Twitter login en paswoord. Die heeft het nodig om op basis van je persoonlijke data je rank te kunnen berekenen. Enkele mensen begonnen het gerucht te verspreiden dat Twitterrank niet meer was dan een goedkope phising poging om Twitter logingegevens te verzamelen en, erger nog, te misbruiken. Al snel maakte de orginele ontwikkelaar zich bekend via o.a. ZDNet en maakte duidelijk dat hij zeker geen malafide bedoelingen had.

Het verhaal legt één van de achillespezen van het Web opnieuw bloot: De combinatie van menselijke nieuwsgierigheid en impulsiviteit leiden ertoe dat we probleemloos zeer persoonlijke informatie aan gelijk wie willen toevertrouwen. Ook als de beloning die er tegenover staat eerder mager is. Phising, het misleiden van mensen om hun credentials te kunnen stelen, is dan ook een ware plaag.

Erger is dat bonafide ontwikkelaars en de grotere spelers binnen de Web 2.0 ontwikkelingsgolf steeds meer van een gelijkaardig antipatroon gebruik beginnen te maken. In plaats van via protocollen zoals OAuth op elegante en veilige wijze data van elders op te vragen, wordt gratuit gevraagd naar paswoorden en logins. Facebook is hier een typisch voorbeeld: de meeste applicaties vragen toestemming om ‘persoonlijke informatie’ te lezen die ze nodig hebben. Ten eerste weet je niet welke informatie wordt verstuurd. Ten tweede weet je vaak niet wie er achter de applicatie in kwestie zit. Nu betwijfel ik de veiligheid van Facebook niet, maar gebruikers krijgen een slechte gewoonte aangeleerd: dat het oké, makkelijk en, ja, zelfs noodzakelijk is om anderen zomaar toe te laten tot je persoonlijke informatie.

Ook Twitter maakt zich schuldig aan dit anti-patroon: in plaats van in de API een beveiligde communicatiewijze te voorzien, moet je aan applicaties van derde partijen je Twitter paswoord/login geven om van hun diensten gebruik te kunnen maken. Ook ili.st van 10to1heeft je Twitter credentials nodig om te kunnen werken.

Dat we zelf als ontwikkelaar van gebruikers verwachten dat ze zomaar hun credentials in blind vertrouwen zullen afstaan, en dat die laatsten dat ook nog eens massaal doen, staat in schril contrast met het feit dat we er juist op hammeren om nooit of te nimmer je paswoord/username aan gelijk wie af te staan wil je niet het slachtoffer worden van identiteitsroof of erger.

Ikzelf ga alvast proberen om het standpunt van Jeremy Keith te volgen…

Categorieën
Internet Techtalk

Birds on a wire

Ik ga even van web twee punt dink evangelist spelen: dat ik het nog gezegd heb vorige week!

Allez, toch niet in die woorden. Ik opperde in mijn talk – Birds on a wire. Thoughts about Twitter – dat Twitter pas meerwaarde krijgt naarmate er meer nuttige toepassingen voor worden gevonden. Want, laten we eerlijk zijn, microblogging zit ergens tussen IM en full scale bloggen. Vis nog vlees eigenlijk. En Bill Snyder heeft gelijk om te zeggen dat andere toepassingen de overlap maken.

Wat Twitter volgens mij aantrekkelijk maakt is dat het een open platform is. Zowel qua mogelijkheden naar ontwikkeling als qua communicatie. Bovendien kan je met 140 karakters heel wat doen. Ik denk dat ili.st een heel mooi vorbeeld is. (ik wilde zelf een eigen app tonen maar de mannen liepen verdiend met de eer heen)

Het blijft wel moeilijk om een killerapp te maken. Dingen zoals Twittervision, Foamee en zelfs Botanicalls Twitter zijn tof, maar ik noem ze five-minutes-of-fun toepassingen. Weinig of geen praktisch nut. Het wordt pas interessant als je Twitter kan integreren in andere dingen. Bijvoorbeeld, ideetje van Peter, een (bedrijfs)restaurant heeft een twitterbot. Stuur een berichtje via Twitter naar de bot en je krijgt een link per direct message of een mailtje in je mailbox met het dagmenu. Of je zou een Pizzadienst kunnen opstarten. Je registreert met je twitteraccount en je huidige adresgegevens bij een pizzadienst. Honger? Stuur een direct berichtje naar de twitterbot, bv. d pizzabot margueritte + coke en 15 minuten later staat de pizzakoerier voor je deur. Of je staat in het station met je iPhone en je wil weten welke trein naar bv. Brussel vertrekt. Stuur een d nmbsbot antwerpen brussel-centraal door en je krijgt terug welke trein je moet nemen evt. met overstappen en zo.

Ach, ideëen zat. Bruno wist te vertellen Twitter momenteel ca. 1 miljoen gebruikers kent. En volgens Stefan was Twitter het embryostadium nog niet helemaal ontgroeid. Akkoord. Maar ik vind dat adaptie van een dienst en het benutten van het potentieel met elkaar verband houden. Meer gebruikers creëeren een grotere drive om de mogelijkheden breder en anders te exploiteren wat op zijn beurt weer meer gebruikers kan aantrekken. De mannen van Facebook en afgeleiden hadden zo keihard door dat dat een flinke factor van betekenis is. Ik zeg één factor want fundamenteel staat of valt alles met de bestaansreden van Twitter: zeggen wat je momenteel doet of denkt in slechts 140 karakters en die informatie delen met anderen omdat die potentieel nuttig of interessant kan zijn.

Categorieën
Asides

Twitter for dummies III

Oké. Chapter 1: the name of the game heb ik vandaag in de auto zo’n beetje gefatsoeneerd en gepubliceerd. Hier en daar moet er nog wat worden aangevuld maar de essentie staat er wel. Ik hoop vanavond Chapter 2: babysteps ook nog klaargestoomd te krijgen. Maar dat mag geen probleem zijn aangezien ik die al geschreven heb.

Categorieën
Internet

Twitter for dummies

Ja. Dit projectje heeft deze week geen liefde gekregen. Shame. On. Me. Laat ik het maar steken op een chronisch gestoorde slaap en daaraan gekoppelde vermoeidheid. Ik ga straks in de trein een tweede hoofdstuk haken. ’t Is tenslotte nog twee weken tot BarcampGent.

Categorieën
Internet

Twitter @ BarcampGent

BarcampGent staat al een eeuwigheid met en grote rode cirkel en een paar stevige pijlen angeduid op mijn kalender. Het zal de eerste keer zijn dat ik aan een Barcamp deelneem, en ik wil er tegelijk ook goed invliegen: met een eigen projectje. Ik heb even moeten nadenken voor ik een goed onderwerp had. Uiteindelijk besloot ik een dag of tien geleden dat ik iets rond de Twitter wil doen: Twitter programmeren voor dummies. Ik heb het idee even wat laten gisten en er in – relatieve – stilte aan gesleuteld.

Ondertussen is het een aardig project geworden. Zelf ben ik uiteraard ook nog groen achter de oren, maar ik zou mezelf de komende maand wat wijden aan de Twitter API. Al doende maak ik nota van mijn bevindingen. Meer zelfs, het is de bedoeling om een on line microtutorial programmeren voor de Twitter API te schrijven. Met micro bedoel ik: kort, bondig en begrijpelijk.

Op 29 maart hoop ik tijdens een powertalk op BarcampGent mijn exploten wat uit de doeken te doen en het eindresultaat voor te leggen.

Ik ben keihard benieuwd hoe ver ik hierin ga geraken…

Categorieën
Asides

Twitter spam

Als ik de laatste twee dagen Twitter wat lijk vol te spammen. Mijn excuses daarvoor. Ik ben bezig met iets uit te werken. Nu ja, ik moet toch ooit die 1000 tweets zien te halen. Niet?

Categorieën
Internet Techtalk

Twitter API: babysteps

** techneutenwaarschuwing **

Gisteren ben ik wat met de Twitter API beginnen spelen. De whatnow? De Twitter API, dus. Samengevat: wanneer je zelf een programma schrijft, laat de API van toepassing x of service y toe om (beperkt) gebruik te maken van diens functionaliteit. Als je, bijvoorbeeld, met Twitter Stats werkt, dan zal die via de API van Twitter al je gebruikersgegevens opvragen, ontvangen en verwerken in mooie grafiekjes.

Op zich schrijft een API enkel voor welke regels je moet volgen om te kunnen communiceren. De programmeertaal, het platform of weet-ik-veel waar je zelf mee aan de slag bent, spelen een stuk minder een rol. Buiten dan dat ze je in staat moeten stellen om gebruik te kunnen maken van die functionaliteit.

Afin, dat was de theorie. De praktijk dan maar. Stel dat je de Twitter website beu bent of geen browser bij de hand, maar je wil wel twitteren, hoe doe je dat? Wel, men neme de API. Die zegt dat je een HTTP POST verzoekje moet sturen naar een bepaalde URL met je paswoord, username en het berichtje dat je wil versturen. je berichtje mag uiteraard niet langer dan 140 tekens zijn. Twitter zal je berichtje dan oppikken.

Eerste probleem: hoe stuur je een HTTP POST request zonder browser? Wel, dat kan je met cURL. Dit is een tooltje waarmee je direct met webservers en nog veel meer kan spreken. Deze versie (windows! Linux e.a. beschikbaar. Kies de no-ssl versie.) heb je nodig. In je commando prompt (dosbox, whatever) voer je het commando ‘curl’ uit. Je moet natuurlijk een aantal parameters zoals een URL en watnog meegeven om iets zinnigs te doen met cURL. In casu geef je volgende URL mee:

http://twitter.com/statuses/update.xml

Daarmee zijn we er nog niet. Je moet eerst inloggen bij Twitter vooraleer je een tweet kan sturen. Dat doe je door aan het curl commando volgende parameter mee te geven:

-u username:paswoord

Uiteraard vervangen door je eigen logingegevens. Tenslotte, moet je nog het berichtje mee geven als een HTTP POST request. Daarvoor dient de -d parameter van cURL. Daarbij moet je nog specificiëren dat het berichtje een status is. Dat doe je met ‘status=’ Het resultaat is dit:

-d status="Twittering from cURL"

Dat alles moeten we nu in één commando doorgeven aan Twitter. Dat doe je zo:

curl -u username:paswoord -d status="Twittering from cURL" http://twitter.com/statuses/update.xml

Als je als goed hebt ingevoerd, dan zou je een heleboel tekst in XML formaat teruggespuugd moeten krijgen. Die zal o.a. je profielgegevens bevatten en de nieuw aangepaste status met het tijdstip. Doe je het verkeerd krijg je ofwel geen output, ofwel een foutmelding in een XML berichtje.

Zo. Je hebt net voor het eerst rechtstreeks gebruik gemaakt van de Twitter API om los van de Twitter website toch te kunnen twitteren. Bravo! Als je PHP programmeur bent, dan zou je op een gelijkaardige manier met curl voor PHP aan de slag kunnen om van de Twitter API gebruik te maken.

Categorieën
Internet Leven

Gedichtendag

’t Is dat ik zelden eens een gedicht op papier zet. Laat staan in ’t Engels. Maar voor Gedichtendag schrijf ik graag eens iets voor Twitter dat de laatste dagen wel bijzonder defunct lijkt te zijn.

Something is technically wrong
Thank you for noticing
While in unison every bird is lamenting
as they sing that old, old song
Please, Twitter, please
Bring back that beat
That beat which we so much long

’t Moet niet altijd Hans Andreus zijn…

Categorieën
Techtalk

Widgetizing

Hm. Ik hotlinkte de voorbije dagen naar een plaatje op een andere site. Fout van mij want de snoodaards haalden het plaatje weg en op mijn blogje ontstond een gapend zwart gat. Tijd dus om even na te denken wat ik met de vrijgekomen ruimte kon doen. In eerste dacht ik aan één of ander sociaal geëngageerd project met esthetisch verantwoord promomateriaal. Maar die zijn nogal dun bezaaid blijkbaar. En ik moet natuurlijk nog voor de zaak zijn. Platte commercie misschien? Huishoudtoestellen zoals koelkasten en krultangen zie ik zo keihard niet zitten. En een lelijke flashende banner al helemaal niet. Onder het motto ‘doe een ander niet aan wat gij zelf niet wilt’ ook dat idee naar de prullenbak verwezen. (hoe sympathiek de jongens en meisjes bij adhese en zo wel niet zijn!)

Uiteindelijk is het Twitter geworden. Een leuke custom CSS badge met mijn updates. De officiële badges vond ik spuuglelijk dus op zoek naar een goeie WordPress plugin. Ik vond er eentje die mij aanstond maar na installatie bleek mijn sidebar niet widgetfähig te zijn. Geen nood. Dan maar dit document gevolgd en het nodige gedaan. Al snel blijkt het vervangen van de huidige plugins door widgets nogal ingrijpend te zijn. Toch voor een werkje waar ik een half uurtje voor had uitgetrokken. Ik denk dus dat ik mij daar dit weekend eens mee ga bezigen.