Tweet For Life – The Twitter App

Vorige week had @Pinkie_Lemonade het idee om met Twitterland een actie voor Music For Life op te starten. Uiteraard wou ik hier een steentje aan bijdragen, maar dan wel substantieel en niet enkel een ribbon op m’n avatar zetten. Per tweet die ik maak tijdens Music For Life doneer ik 10 cent aan het Rode Kruis. (zie ook m’n vorige post hierover)

Rond 20h30 vorige vrijdag stuntte @PhiCo: hij stond aan het glazen huis en mocht live op StuBru de actie uitleggen. Het kan soms snel gaan!

Om de bijdragen van iedereen wat bij te houden, heb ik de afgelopen dagen een Twitter applicatie gemaakt: Tweet For Life (het domein en de hosting werden spontaan geschonken door de mannen van Priorweb, super!). Nu, ik ben geen specialist in websites maken, verre van. Voor de eerste keer heb ik me beziggehouden met nieuwere technologiën als HTML5 forms (geïnspireerd op een artikel op 24Ways), PHP, jQuery en AJAX-toestanden, en heb een ganse zondag verloren omdat er op’t internet iemand niet-zo-goede voorbeelden had gezet. Er is veel brol te vinden via Google: evil! Gelukkig zitten er op Twitter genoeg hulpzame specialisten op webdevelopment-vlak, dus zondagavond was ’t grootste deel klaar.

Tweet For Life

Hoe werkt de site juist?

De site probeert bij te houden hoeveel iedereen gaat moeten storten. Op elk moment van raadpleging (tot donderdag 15h) wordt de stand getoond. Daarvoor moet geweten zijn hoeveel tweets iedereen al gemaakt heeft tijdens de actie. Dat aantal tweets is het verschil tussen het huidig aantal tweets en het aantal tweets gemaakt aan het begin van de actie.

Mensen die willen meedoen, worden eerst omgeleid naar Twitter om goed te keuren dat Tweet For Life hun gegevens mag lezen (het aantal tweets dat de mensen op de moment van raadpleging gedaan hebben moet via OAuth gelezen kunnen worden, zelfs als ze een protected account hebben). Na goedkeuring worden de deelnemers gevraagd om het aantal tweets vanaf waar ze willen beginnen doneren en het bedrag per tweet in te geven. Deze gegevens worden opgeslagen in een databank en vanaf dan kan in het Tweet For Life Dashboard de huidige stand van zaken getoond worden.

Probleem bij de lancering

Maandagavond werd de site dan bekend gemaakt op Twitter (ook al was ze nog niet volledig af). De frontpage ging zelf aan Twitter vragen hoeveel tweets iedereen op dat moment gedaan had, wat ervoor zorgde dat de limiet van 150 requests per uur die Twitter by default toelaat onmiddellijk overschreden werd. Dan heb je twee oplossingen: de server zelf regelmatig laten cachen naar een DB zodat je niet boven die 150 requests per uur komt, of een whitelisting van je server vragen aan Twitter. Aangezien die whitelisting niet ogenblikkelijk is, heb ik dan maar “snel” een cache-script geschreven.

Een dag later heb ik dat dan met jQuery achter hoverende muggen gezet, zodat het cache-script via een .post() subtiel door de gebruiker werd uitgevoerd en ik niet meer manueel om de 5 botten moest cachen.

De rangschikking gebeurde in eerste instantie alfabetisch, maar na een hints van o.a. @DirtyJos heb ik dat aangepast naar rangschikking van de opbrengst. Kwestie van het competitie-element stiekem wat aan te wakkeren. Je kan je natuurlijk afvragen of competitie in dit geval wel opportuun is. Zelf ben ik er niet uit. Ergens vind ik dat het geen kwaad kan, maar misschien heb ik teveel met online marketeers rondgehangen?

Speciale gevallen

De weergave in Internet Explorer. Internet Explorer zit eeuwen achter op WebKit- en Gecko-powered browsers zoals Firefox, Safari en Google Chrome. Ronde hoeken via CSS moet je niet verwachten in IE, dito voor deftige PNG-ondersteuning (de PNG-afbeeldingen van de muggen zijn transparant, waardoor hun poten over andere elementen op de webpagina komen, bijvoorbeeld de tabel.)

Validatie van het invulformulier. Ook al had ik in de HTML5 mark-up gezegd dat alle velden required zijn, toch zijn sommigen er in geslaagd van iets niet in te vullen (bijvoorbeeld het begin-aantal tweets dat op nul komt). Ik heb nog niet onderzocht hoe dat juist komt. Alleszins zou ik in JavaScript de validatie moeten implementeren. Voorlopig worden enkel komma’s (van het bedrag) omgezet naar punten (omdat de databank met een punt als decimaal-teken werkt).

Synchronisatie met Twitter. Soms loopt de synchronisatie met Twitter verkeerd. T.t.z. Twitter geeft soms een falicant foutief aantal gemaakte tweets. Zo zijn er gevallen geweest waar Twitter beweert dat iemand 8000 tweets gemaakt heeft ipv 400 (en die persoon dus zogezegd opeens heel veel bijdraagt), of omgekeerd, dat er iemand maar 400 tweets gemaakt heeft terwijl ie begonnen is bij 5000 tweets (waardoor de bijdrage negatief wordt). Enkele keren opnieuw syncen lost het probleem meestal op.

Enkele speciale gevallen :-)

Ik heb ook geen idee of mensen bij hun bijdrage per tweet nu expliciet 0 (of niks) invullen, of of er iets verkeerd loopt bij de verwerking. Alleszins zijn er altijd enkelingen die zo af en toe eens op Twitter passeren, en je daarna dan drie keer kan vragen wat je moet aanpassen en dan nog antwoorden ze u niet. (dan vraag ik me stiekem ook af of ze daadwerkelijk geld gaan overschrijven…)

Tweet For Life invulformulier

Tweet For Life invulformulier zonder Twitter-authorisatie gegeven te hebben.

Lessen

  1. Begin op voorhand, niet tijdens een actie als Music For Life.
  2. Bezint eer ge begint, niet rush-to-market en we’ll-fix-it-later. Design van software is belangrijk, en uw tools kennen ook.
  3. Je moet de grote “influencers”  echt aanspreken en onder hun gat shotten i.p.v. hopen dat ze je actie vanzelf gaan oppikken.
  4. Je hebt diezelfde grote “influencers” niet echt nodig. Op 2 dagen tijd zitten we al aan 400 euro opbrengst, niet slecht voor iets dat amper reclame gehad heeft.
  5. De “IK DOE MEE” knop moet groter.
  6. Foutafhandeling in de code kan beter.
  7. Copywriting kan beter. I mean “jouw aantal tweets vanaf waar je begint te doneren”… Misschien had ik dat beter aan Saskia gevraagd.
  8. Tutorials op’t internet zijn niet altijd juist. Lastig als ge eigenlijk gehaast zijt.
  9. Er kruipt toch veel tijd in.
  10. Als je een dagtaak hebt, dan kan je niet altijd even snel iets corrigeren, en dan moet je wachten tot ’s avonds. Lastig.
  11. You rule. ’t Is waar, ’t staat op’t internet!🙂

5 thoughts on “Tweet For Life – The Twitter App

  1. Misschien was het net het kleinschalige, het chaotische en geïmproviseerde dat het er allemaal sympathieker op maakt. Ik weet niet of ik me even vlot zou hebben ingeschreven als een hele horde grote namen en allerhande marketeers zouden hebben opgeroepen om mee te doen.
    Maarja, ik ben natuurlijk allesbehalve representatief voor de grote massa die zich dan misschien net wél zou hebben geëngageerd en je opbrengst danig zou hebben verhoogd.

  2. Pingback: Tweets that mention Tweet For Life – The Twitter App « Boskabout -- Topsy.com

  3. Ik geef goya gelijk het is juist door het feit dat het terplekke leek te ontstaan dat het de hele boel veel sympatieker werd, ook de fouten. Het is echt een gegeven van de tweeters onder elkaar. Als het inderdaad helemaal af zou zijn, had ik er zeker voor bedankt, nu tweet ik wel niet mee, maar achteraf wil ik nog mijn duit in het laatje doen. Je hebt mijn hele sympatie. Weet je Music for Life heeft ook mijn sympatie maar ik luister er nooit naar. Het hele tweet-gebeuren maakte dat ik wel bij betrokken raakte.

Geef een reactie

Vul je gegevens in of klik op een icoon om in te loggen.

WordPress.com logo

Je reageert onder je WordPress.com account. Log uit / Bijwerken )

Twitter-afbeelding

Je reageert onder je Twitter account. Log uit / Bijwerken )

Facebook foto

Je reageert onder je Facebook account. Log uit / Bijwerken )

Google+ photo

Je reageert onder je Google+ account. Log uit / Bijwerken )

Verbinden met %s