Thursday 19 November 2009

Don't take your random() for granted...

In my current project, we use a functionality which chooses a random colour for a machine. To do this, we need to select a colour from a set of 8 colours. In our Flex application we use a function called randomInt, which generates a random integer between a and b:

public static function randomInt(a:int, b:int):int {
return Math.round(Math.random()*(b-a))+a;
}


Usually we look for functions like these on the internet, but I’d like to emphasize that you also should unit-test functions which are made by others.

So I’ve generated 5000 integers between 0 and 20 in a test application, and put that in a graph:



Note that the numbers on the boundaries, 0 and 20, are significantly chosen less times than the others (1-19). This would mean, that if this function is used for picking a random machine colour, the colours 0 and 7 have only a 7% chance to be selected, while others have a 14% chance!

I’ve talked about this to someone who knows a lot of these mathematical things. The problem is the rounding. Since Math.round() returns a pseudo-random number n, where 0 <= n <>
We need to include the boundaries to produce a evenly distributed random integer. This is the new function:
private function randomInt(a:int, c:int):int {
var b:int = c + 1;
return Math.floor(Math.random()*(b-a))+a;
}


Doing the same test, produces this graph:



As you can see, each integer is chosen about the same number of times. Now we know for sure that colours 0 and 7 won’t stay in storage, but are also sold!

Wednesday 3 June 2009

Nomads in IT...

Yesterday I was present at a job interview at IT.

I represented the technical guys, though I'm more a User Experience Consultant with technical background, but my job is mostly technical right now.

The guy who had the interview was somewhat the same, only a bit more with a designer's background.

It was suprising how difficult it is to find the right position for a User Experience Consultants, especially in the technical department!

They belong nowhere...

Tuesday 21 April 2009

Customer Experience Is Usually Very Poor

(I didn't finish this article, and to engage myself in finishing it, I post it as such.... Yes I will finish it soon!)

this article will be translated to English


Uit een onderzoek van Forrester uit 2008, waarin zij aan klanten vroegen naar hun ervaringen met verschillende bedrijven op het gebied van bruikbaarheid, usability en plezier, bleek dat ANWB winkel, Esprit en de Bijenkorf aan de top staan in Nederland.

Forrester stelde uit die gegevens de Customer Experience Index samen. De lijst omvat 57 bedrijven, waarvan er slechts 6 een waardering "excellent" kregen. Daarentegen kregen 30 bedrijven de waardering "slecht" of "zeer slecht"...

Wat valt er op aan deze onderkant van de lijst? De bedrijven uit de lijst waren grofweg ingedeeld in 5 branches: retailers, banken, energiebedrijven, internet service providers en mobiele telefonie bedrijven. Wanneer je gaat kijken wie er aan de onderkant van de lijst staan, valt het wel op dat de energiebedrijven het wel heel slecht doen:

25e plek: Greenchoice
45e plek: Essent
47e plek: Eneco
48e plek: Nuon
52e plek: Energie:direct
55e plek: Oxxio
56e plek: E.ON
57e plek: Nederlandse Energie Maatschappij

Alleen Greenchoice krijgt een waardering "okay". Wanneer je in deze lijst onder nummer 37 staat, is het niet best met je, de waardering is daar ronduit "zeer slecht". Valt het u op dat het 2e energiebedrijf op de lijst Essent op nummer 45 staat? Niet zo best dus.

De energiebranche in Nederland doet het dus het slechtste op het gebied van Customer Experience. Overigens doen de Internet Service Providers het net iets beter, maar worden nog steeds gewaardeerd als "zeer slecht".

Waarom zit het nou in die specifieke branche zo slecht? Ik ben 2 jaar gedetacheerd geweest bij één van de genoemde energiebedrijven, dus op basis daarvan kan een ik kleine analyse doen.


The Experience Economy


Het draait erom in hoeverre het belang van Custromer Experience meespeelt in de bedrijfsprocessen. En dat begint met het erkennen en willen dat het bedrijf zich onderscheidt in Customer Experience. Vanuit de gedachte dat je niet in alles de beste kan zijn, moet je in alles even goed zijn als de concurrent en in één ding uitblinken. En aangezien de economie nu steeds meer draait om Experience (zie: The Experience Economy [Pine & Gillmore, 1999]), laat dat dan dat ene zijn waarin het bedrijf uitblinkt. Uiteindelijk zal het voor energiebedrijven zeker zo zijn dat de tarieven overal net zo scherp zijn, de stroom net zo groen en de energiemeters net zo slim.


Als je de volwassenheid (maturity) van Customer Experience in de organisatie in de volgende niveau's verdeelt:


  1. Interesse

  2. Er wordt in geinvesteerd

  3. Toegewijd

  4. In ontwikkeling

  5. Opgenomen in de organisatie

Kunnen we met zekerheid zeggen dat energiebedrijven niet veel verder komen dan niveau 1. De interesse is er in die zin, dat er veel over gesproken wordt en dat eigenlijk wel iedereen er het belang van inziet (85% van de bedrijven bevestigen dat zij het belang van een goede Customer Experience inzien). Uit mijn ervaring kan ik zeggen dat die interesse er eigenlijk nu zo'n 2.5 jaar is. In de 2 jaar dat ik bij het bedrijf werkzaam ben geweest is er ook echt wat mee gedaan, maar dat kwam voornamelijk omdat ik daar persoonlijk de focus op legde, maar niet omdat dat door de organisatie gevraagd werd. Dat ze nog niet bij niveau 2 waren, was duidelijk doordat er geen ruimte voor was in planningen en allocaties.


Daarnaast wordt vaak Usability, User Experience en Customer Experience over één kam geschoren. Wat zijn dan die verschillen? Mijn definities zijn deze:


Usability


De gebruiker wordt goed ondersteund doordat de best-practices in het design zijn toegepast. De interactie is consistent, navigatie is duidelijk en indien nodig wordt de gebruiker op weg geholpen. De gebruiker raakt niet in verwarring, vindt wat hij zoekt en begrijpt waar het over gaat doordat het intuitief werkt of goed wordt uitgelegd.


User Experience


De gebruiker krijgt ook een bepaald gevoel tijdens en na het contact met de website of applicatie. Dat gevoel dient prettig en passend te zijn. Hij moet aan zijn vrienden kunnen vertellen dat het gebruik van de website makkelijk en leuk was. Omdat de resultaten naar verwachting waren en het "servicegevoel" in lijn met de norm van het bedrijf.


Customer Experience


Hier verandert de gebruiker in een klant. Op dat moment spelen er subtiele andere gevoelens mee dan in de User Experience. De klant moet overtuigd raken, onderhevig zijn aan bepaalde emoties en vertrouwen hebben (zie: How to Design for Persuation, Emotion, and Trust [Human Factors International]). Een gebruiker moet gewoon de dingen kunnen doen die hij moet doen, een klant moet daar ook zo'n positieve ervaring bij hebben dat hij ook terugkeert en beter nog: het bedrijf aanbeveelt bij zijn vrienden en kenissen op verjaardagen (zie: Net Promoter Score).


Waarom zijn dan de energiebedrijven hier zo slecht in?


...