Weiger Nieuwsbrieven

 Wat is een marketeer zonder een flinke database met e-mailadressen? NIETS!.

Vandaar dat marketeers een eeuwige, onstilbare honger hebben naar email adressen. Vandaar ook dat bij vrijwel elke uitwisseling met een website, om je e-mailadres wordt gevraagd.

Email-nieuwsbrieven en mailings zijn blijkbaar een ideaal instrument om traffic naar de website te genereren en de bezoeken hebben ook nog een behoorlijke conversie graad. Wetgeving (o.a. Telecom wet) zorgt ervoor dat marketing afdelingen aan regels gebonden zijn, gelukkig maar. Zo moet je altijd bewust toestemming geven voor het toezenden van nieuwsbrieven en moet je de mogelijkheid hebben de ontvangst van nieuwsbrieven te stoppen. Als je je emailadres achterlaat weet je echter een ding zeker: hij verdwijnt nooit uit de database van het bedrijf, daarvoor is hij te waardevol en je kunt er donder op zeggen dat je met een zekere regelmaat toch weer benaderd wordt. Voor een echt unieke aanbieding, die echt niemand mag missen en oh, ja, het toesturen van de nieuwsbrief is alvast weer aangevinkt (als je ingaat op de aanbieding). Dan hebben we het over de goede bedrijven, maar er zijn er genoeg die het afzeggen van nieuwsbrieven niet ondersteunen of het verzoek gewoon niet uitvoeren.

Lees verder...

Google vss. Bing vs. Duitsers

google vs bing

Een tweet van Sophie in 't Veld verbaasde me nogal. Duitse ChrinstenDemocraten gaag vragen stellen over macht van Google, over hun monopolie op de zoekmarkt Dat is wel vreemd. Microsoft heeft een jaar geleden Bing ge-introduceerd en vriend en vijand zijn het er over eens dat Bing best goed is. De mensen kunnen dus kiezen tussen twee zoekmachines, net zoals we kunnen 'kiezen' tussen Windows en de 'mac'.

Het meest zwakke kritiek punt van de Duitsers is wel dat Google 'persoonlijke gegevens' (= zoekgedrag) bewaart van gebruikers, maar dat doen alle zoekmachines! Zonder die gegevens geen goede zoekmachine meer. Dus als het bewaren van 'persoonsgegevens' het belangerijkste kritiek punt is, richt daar dan je kritiek op en niet speciek op Goolge.

Het ontwikkelen van zoekmachines is gewoon heel erg complex en moeilijk.  Dat beseft niet iedereen. En het gaat ook echt niet alleen om een fantastisch algoritme, of een andere zoektechniek. Je kunt de macht 'delen' van Google, maar vroeger of later zal er weer 1 de machtigste zijn. Microsoft heeft de Desktop  veroverd, Google de zoekmachine markt en Facebook de 'vriendennetwerk' markt.

Daarvoor zijn twee redenen aan te wijzen: Ze zijn de beste in hun markt, maar de mensen willen het ook

Twitter een vorm van distributed event processing?

Twitter-bird

Sinds een paar maanden heb ik een Twitter account. Ik heb een account aangemaakt om het nieuwe medium te leren kennen. Een tijd lang deed ik er weinig mee, wat had ik de wereld te melden? Dat ik me verslapen heb? Wie wil dat nou weten.

Toch is dat wel de oorsprong van Twitter, dat je je vrienden kunt laten weten wat je aan het doen bent, alleen niet iedereen ziet het zitten hun leven in tweets wereldkundig te maken en dat zijn niet alleen 50plussers.

Lees verder...

Taffy DB - een javascript database

Ik heb iets met databases. Vooral met exoten in de markt. Zoals db4o, neo4j, Neodatis. Enige tijd geleden kwam ik Taffy DB tegen. Een database in javascript. Mijn eerste reactie was "Wie bedenkt er nou zoiets". Maar toch ook leuk, een exoot, dus downloaden en uitproberen.
Dat uitproberen heeft even geduurd, maar Taffy DB  bleef in mijn hoofd zitten. Bij het doorlezen van de documentatie kwam ik erachter dat er een event mechanisme was voor updaten, inserten en deleten.
Toen was ik om. Taffy DB is handig, niet voor alles natuurlijk, maar genoeg bruikbare toepassingen te bedenken.
Je kunt dus een web applicatie ontwikkelen met een cotroller in javascript. Het grootste deel van de applicatie wordt dus eigenlijk in javascript opgebouwd en de server is er voornamelijk voor het leveren en opslaan (updaten) van data. Een nieuwe entry, wordt eerst in Taffydb geschoten en met het insert event, roep je een ajax call aan om de gegevens met de server te synchroniseren. Je doet dit door aan het event een functie te koppelen (uit de Taffy DB documentatie):

friends.onRemove = function (r) {
    alert(r.name + " was removed");
};

Updaten of deleten van gegevens gaat op dezelfde manier met het update en delete event.

Lees verder...

Bezoek JSpring 2009

Spant Bussum

Gisteren the JSpring 2009 bezocht. De halfjaarlijkse conferentie van de nljug, die ondanks de crisis gewoon doorgang vond.
De conferentie werd weer gehouden in het 't Spant! in Bussum. Goed bereikbaar met het OV, het is een stevige wandeling vanaf station Bussum Zuid, maar met het schitterende weer van die dag beslist geen straf.
Er waren minder standhouders dan voorgaande jaren, door de crisis waarschijnlijk. Ook leken er iets minder bezoekers te zijn, dat vond ik eigenlijk wel fijn. Op de JFall 2008 was het zo druk, dat de mensenmassa me soms op de zenuwen werkte, nu had ik daar geen last van. Maar goed de lezingen, want daarvoor ga je tenslotte naar de JSpring. Ook nu moet ik -weer- de neiging onderdrukken een objectief overzicht te geven. Dat kan ik niet, ik heb niet alle lezingen gevolgd en heb geen aantekeningen gemaakt. Hierbij dus een persoonlijk, intuïtief en impulsief verhaal over wat mij van deze conferentie is bijgebleven....

Lees verder...

Dozer - Did the job

Bulldozer

In mijn vorige log (zie hieronder) vertelde ik over de perikelen die we hadden met GWT en het date object. Die datum's/tijden 'corrigeerde' voor de tijdzone.
De beste oplossing is natuurlijk om vanaf de server de datum-tijd als een string door te geven, dan ben je val al het gehannes af en kom je niet voor verassingen te staan. Een dergelijke wijziging kan echter wel voor de nodige code wijzigingen zorgen en dat wil je liever ook niet, ook omdat werken met het date object zijn voordelen heeft.
Hier biedt Dozer zijn voordelen. Met Dozer kun je serverside het date object omzetten naar een String en deze datumstring in een apart veld zetten in je objecten die naar de view laag (GWT) gaan. Het vergt minimale code aanpassingen aan het frontside object een enkel veld met een setter. (Het object had al een getDisplay() methode, die in de nieuwe situatie de door Dozer toegevoegde datumstring toont.)
Verder hoef je alleen in het Dozer xml file wat aanpassingen te doen, slechts een paar regels:

    <mapping>
        <class-a>nl.topticketline.aktiesites.db.data.Performance</class-a>
        <class-b>nl.topticketline.aktiesites.web.gwt.client.model.PerformanceWeb</class-b>
        <field type="one-way">
          <a >performanceDateTime</a>
          <b date-format="d MMM y - HH:mm">performanceDateAsString</b>
        </field>
        <field>
          <a>performanceDateTime</a>
          <b>performanceDateTime</b>
        </field>
    </mapping>

 

GWT en het Date object

 GWT

Vandaag onverwacht gedrag tegengekomen van het Date object binnen GWT. (Google WebToolkit).Het is even de vraag of GWT zich onverwacht gedraagd of dat ik mijn verwachtingen moet bijstellen. Laat ik het uitleggen.
In GWT hebben we een site ontwikkeld om tickets te verkopen. De datum van het evenement waarvoor het ticket geld, wordt vanuit de server doorgegeven. Hier gebeurt onverwachte, de tijd wordt 'gecorrigeerd' voor de tijdzone, dus als het evenement om 20.00 uur begint wordt het getoond als 14.00 (Braziliaanse tijd). Tja, dan sta je toch raar te kijken als over twee weken in Holland om 14.00 uur voor het theater staat.
Ik dacht eerste dat het aan het DateTimeFormat object voor het custom weergeven van de datum/tijd laglag,  maar dat is niet zo. Het date object wordt zelf wordt 'gecorrigeerd' Nu moet ik daar dus een oplossing voor vinden.
Mogelijk dat Dozer, de  bean mapping library die we gebruiken, op de server de dat kan converteren naar een string. View-laag en midden laag kunnen dan hun eigen domain objecten gebruiken, op zich een 'schonen' oplossing.

SCJP

Sun Certified Java Programmer ik wil het nu toch gaan worden. Na tien jaar in "het vak" ga ik ervoo.r. Een dikke pil aan geschaft van de uitgever Mc Graw Hill. Ik heb er ruim 10 dagen voor gepland. Elke dag een hoofdstuk, met wat uitloop natuurlijk. Op dit weblog wil ik regelmatig verslag doen van mijn bevindingen.

Het boek gaat vrij uitgerbreid op de onderwerpen in. In elk (sub) hoofstuk wordt aangegeven welke examen doelen je gaat leren. Die uitgebreidheid heeft zijn voor en nadelen. Na 10 jaar in het vak weet je veel dingen al. Je bent echter een beetje lui geworden, je IDE lost veel voor je op, waarschuwt adviseert. Het is een automatisme geworden,  maar op het examen moet je het echt weten. Je wilt dan een kort overzicht hebben van de regels. Dan gaatal die uitleg wel eens irriteren.

De klant weet niet wat hij wil.

"De klant weet niet wat hij wil."
Vele consultants en developers zullen die kreet geslaakt hebben na weer een wanhopige sessie met de klant. Collega's zullen het, instemmend knikkend, beaamd hebben, maar is het waar? Deze overweging wil ik aan jullie voorleggen. Lees verder...

JFall 2008 - Een persoonlijke impressie

JFall logo

Gisteren de JFall 2008 bezocht. Ik kan me op deze halfjaarlijkse conferenties enorm verheugen. De java community begint voor je te leven, je komt nog eens een oud collega tegen en heel veel lezingen, die je op de hoogte brengen van nieuwe ontwikkelingen.
Het Spant in Bussum, waar de conferentie gehouden werd, was mudvol iets te vol eigenlijk, maar dat is dan ook het enige minpuntje dat ik kan vinden op deze JFall.
Als ik een verslag wil schrijven (bijvoorbeeld voor collega's) is er altijd de neiging objectief verslag van alle lezingen die ik bezocht heb te doen, maar iedere keer moet ik constateren dat dat een onmogelijke taak is. Dus eindigt het in een persoonlijke impressie.....

Lees verder...