Twunch

Ik ben een BlackBerry Playbook client aan het maken voor http://www.twunch.be. Het filmpje hierboven is de eerste versie die ik in de simulator gestoken heb.

Er is nog veel werk aan:

  • die ellipsen (de “…” op het einde van de tekst in een label) komen uit de lucht gevallen;
  • inschrijven op een twunch (dit vereist een tweet, dus dan moet de applicatie ofwel authorisatie vragen om in naam van de gebruiker te tweeten, of de geinstalleerde Twitter app runnen, wat ook niet zo evident zal zijn);
  • geo-integratie (sorteren op nabijheid, kaart tonen, …);

Die laatste loodjes, die zullen ongetwijfeld het zwaarst wegen.

Over Twunch gesproken: volgende week donderdag is het Twunch For Life. De collectebus van StuBru rijdt volgende week onder begeleiding van Otto-Jan Ham en Stijn Van de Voorde het alfabet af, en voor de letter T gaan ze naar Twitteraar van het Jaar Vincent Van Quickenborne. Deze heeft de OpenVLD ingeschakeld waardoor er ergens in Brussel gratis eten en drinken (en optreden van The Van Jets!) voorzien is voor de mensen die zich ingeschreven hebben. Het uitgespaarde lunchbudget (of meer) kan dan in de collectebus ten voordele van Music For Life gegooid worden. Schoon he!

Good vibes

  1. Met Tweet For Life hebben we zo’n 700 euro ingezameld (zelfs meer dan 1000 euro als je de bijdrage van Judith en @Inferis meetelt). Niet slecht voor iets dat on the spot in leven werd geblazen!
  2. SMS’jes en oldskool kaartjes van maten en matinnen, die me het beste en al wensen!
  3. Lekker eten met de familie! Tomatenroomsoep, scampi’s met looksaus, straks everzwijn met appel en peer en kroketten, en ijskreem en al. Geen wijn, water is goed voor mij.
  4. Visum voor de VS is goedgekeurd. Wochei!

You know somethin’, Utivich? I think this might just be my masterpiece.

– Lt. Aldo Raine

En dan heb ik nog ergens een mixtape met vette schijven klaar staan, met liedjes die dit jaar in mijn bezit zijn gekomen. Ter uwer oren en dansgevoel!

U was geweldig het afgelopen jaar, en ik heb er het volle vertrouwen in dat u dat volgend jaar ook zal zijn. Met of zonder tegenslag!

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! 🙂

Tweet for Life

Begin december polste @Pinkie_Lemonade even of er op Twitter iets te doen valt voor Music For Life (hash-tag #mfl09). Veel verder dan een donatie per gemaakte tweet kwamen we niet, liefst een donatie door iemand anders! 😉

Anyway, @Pinkie_Lemonade heeft de actie “Tweet For Life” gedoopt, met bijhorende blog, Twitter-account, hash-tag #tfl en zelfs een heuse badge-your-avatar. Volgens @BVLG zijn er ondertussen 123 accounts wiens avatar de Tweet For Life-badge draagt. De bedoeling is niet alleen te stoppen bij het aanpassen van je avatar, maar natuurlijk ook een donatie te doen.

Nu, ik ga mijn mooie Kleintje-made avatar niet bekladden met een badge, maar een donatie doen, dat moet nog wel lukken. Voor elke tweet die ik maak tijdens de uitzending van Music For Life (dus vanaf vanavond 19u tot het einde op 24 december) zal ik 10 cent doneren aan Music For Life. Ik verwacht daarbij aan 50 euro te geraken. Iedereen heeft er dus zaak bij om mij veel replies te ontlokken. ^^

Update 1: Doe je ook mee?

Update 2: Ik neem om 19u een screenshot van m’n aantal tweets. Aan het einde van Music For Life doe ik dit opnieuw, en dan wordt het verschil met 0,10 vermenigvuldigd.

Update 3: We beginnen vanaf 30.897 tweets!

30.897 tweets!

DJ For Life

Zaterdagnamiddag ben ik voor het goede doel een uurtje muziekjes achter mekaar gaan spelen in het Gentse. Dat was op een boot. Boven de kantoren van een nieuwsdienst. Voor het goede doel. Voor deze actie.

Sir Lobster draaide voor mij een superjazzy setje, echt wel hip! Rond 16h was het mijn toer om een uurtje lawijt door te boxen te jagen, and boy did I do that (na eerst een track van Grace Jones gespeeld te hebben, disco als overgang werkt altijd)! Onderwijl kwam OrT van de Freejays zijn oor eens te luisteren leggen, w00t! Anyway, people started to dance on this song, and they kept on doing that for at the least the remaining part of my set!

Daarna kwam Latomski, en amai, die kerel zijn DJ-kunsten zijn straf! Check him out!

Sir Lobster aan het werk.

Sir Lobster aan het werk.

Mijn set-up.

Mijn set-up, people in the back doing a circle dance.

DJ For Life

Studio Brussel start vanaf morgen weer met Music For Life. Het goede doel is dit jaar vrouwen en kinderen op de vlucht voor oorlog en geweld. In tegenstelling tot de vorige jaren gaat Music For Life door in Gent (en dus niet meer in Leuven).

Hannes van Nieuws.be heeft de actie DJ’s For Life in het leven geroepen: 40 dj’s mochten zich inschrijven om een uurtje te komen draaien op de Aquamuse boot; Nieuws.be geeft per dj die afkomt 25 euro aan Music For Life. Meer informatie (wie draait wanneer, …) bij Nieuws.be zelf, en op de DJ’s For Life Facebook-group.

Toeval wil dat ik bij die 40 DJ’s hoor, en dus als Stephanoski Parisiani op zaterdag 20 december, tussen 16h en 17h, zal draaien voor Beat It Club het goede doel.

Place2be: Aquamuse-boat, Kuiperskaai 24, Gent. Kom gerust af, placeer een danske, drink ietske (de opbrengsten gaan ook naar Music For Life), en als ge echt uw goed hart wil tonen: steek iets in de collecte-bus voor Music For Life.