Dark patterns? Dat noemen wij gewoon oplichting

install-installeren-software-knop-buttonDark patterns, heet dat dan met een mooi woord: user interfaces die zo ontworpen zijn dat je ergens in trapt. Bij voorkeur iets dat je geld kost: je dacht een gratis dienst af te nemen maar je zit twee jaar aan een premiumabonnement vast, en opzegging kan alleen via een knop die zaterdagmiddag werkt mits de operator dan achter de computer zit. Dergelijke trucs staan nu op darkpatterns.org van een Engelse UX designer. Leuk, maar dat heet toch gewoon oplichting?

Misschien is het een verschil in rechtssysteem. Amerikaans (en Engels) recht laat mensen veel meer aan hun eigen zelfredzaamheid over. Je hebt grote contractsvrijheid, en je bent als beide partijen verantwoordelijk voor het goed lezen wat je afspreekt. Dus ga jij akkoord met een TOS van zes kantjes waarbij op pagina 5 staat “als je niet wekelijks wat bestelt, sturen wij je een boek tegen een door ons te bepalen prijs”. Of een knop die zegt “indien u geen premiumabonnement wil, haal dan het vinkje weg bij “Opt-out available” onder Geavanceerde Opties”. Tsja. Sukkel. Dat je dat niet even bekijkt.

Europees recht werkt wat anders, zeker waar het consumentenrecht betreft. Natuurlijk, ook bij ons geldt een zekere onderzoeksplicht, maar steeds meer wetten en regels beschermen de weerpartij.

Het begon al met algemene voorwaarden. Lappen tekst worden over de schutting gegooid en daar moet je het maar mee doen, onderhandelen is niet mogelijk. Vandaar de regels over onredelijkbezwarendheid inclusief grijze en zwarte lijst. Zo zijn al te eenzijdige dingen nog wel op te lossen. En veel beschermende regels in het consumentenrecht, zoals dat je pas aan een bestelling vast zit nadat er expliciet is gewaarschuwd dat je moet gaan betalen. Dan kunnen de voorwaarden honderd keer zeggen dat je moet betalen, maar zonder knop met “Betalingsverplichting!” heb je géén bestelling.

Nog verder gaan we met de regels over oneerlijke handelspraktijken. Mensen misleiden (of agressief bejegenen) is onrechtmatig én leidt tot ongeldigheid van het contract. En dat varieert van essentiële informatie weglaten tot upsells alvast aanvinken of achteraf pas verzendkosten vermelden. Precies het soort truc dat nu dus ineens een dark pattern blijkt te heten.

Maar waarom? het is toch geen cultfenomeen of astronomisch verschijnsel? Noem het beestje gewoon bij zijn naam: misleiding of oplichting. Je wilt mensen iets laten doen dat ze eigenlijk niet willen, en je camoufleert het zo dat je achteraf “ja, haha, nee zo werkt het niet” kunt zeggen. Hoe is dat in welke visie op recht dan ook de bedoeling?

Arnoud

Mag ik een API reverse engineeren voor mijn eigen app?

zoeken-harde-schijf.jpgEen lezer vroeg me:

Steeds meer sites en platforms komen tegenwoordig met een eigen mobiele app, maar lang niet altijd zo handig als wel zou kunnen. Nu werken deze apps met op de achtergrond een API (application programming interface) die ik met mijn eigen app ook zou kunnen aanroepen. Maar mag ik hun app reverse engineeren om zo te achterhalen hoe die API van hen in elkaar steekt?

Reverse engineering, oftewel iets uit elkaar pluizen om te zien hoe het werkt, is in het algemeen toegestaan om principes en ideeën te achterhalen. De Auteurswet bevat een verbod op reverse engineering, maar dat gaat eigenlijk over decompileren: het reconstrueren van broncode uit een applicatie. Dat is aan meer regels gebonden. Je mag niet een applicatie decompileren om deze te klonen, maar wél om een compatibele app te maken.

Als je een app decompileert om zo de API te achterhalen, dan stap je in een grijs gebied. Enerzijds doe je dit om een eigen (met het platform) compatibele app te maken, maar anderzijds produceer je wel een soort van kloon van die “officiële” app, en dát mag dus niet. Gelukkig is het meestal genoeg om het dataverkeer te observeren en daaruit af te leiden hoe de API werkt. En dát mag altijd.

Een bijzonder geval ontstaat wanneer de API of het platform gericht is op het ontsluiten van een databank. Als zo’n databank beschermd is door een databankrecht, dan is jouw app mogelijk in strijd met dat recht, want hij biedt dan een middel voor de voorbehouden handeling van

het herhaald en systematisch opvragen of hergebruiken van in kwalitatief of in kwantitatief opzicht niet-substantiële delen van de inhoud van een databank, voorzover dit in strijd is met de normale exploitatie van die databank of ongerechtvaardigde schade toebrengt aan de rechtmatige belangen van de producent van de databank.

Ja, hele mond vol maar het is ook een draak van een wet. Even kijken: je app vraagt herhaald en systematisch data op, check. Per query is de inhoud niet substantieel (niet 90% van de databank), check. (En haal je wél substantieel de hele databank op dan ga je sowieso onderuit onder het databankenrecht.) Is het in strijd met de normale exploitatie of rechtmatige belangen van de producent? Ah, daar zit hem de kneep.

Ik zou zeggen dat wanneer de app hetzelfde soort functionaliteit biedt (maar dan handiger) als de officiële app, er niet snel strijd met normale exploitatie kan ontstaan. Als er een inkomstenstroom zit aan de officiële app (al zijn het maar advertenties) dan wordt het spannend want jouw app omzeilt die dan. En als je met jouw app iets gratis kunt opvragen dat normaal geld kost, dan zie ik ook wel een databankrechtelijk probleem.

Een app die iets heel nieuws doet op basis van een bestaande API, lijkt me in principe niet snel een probleem zolang er geen overlast komt door bv. onevenredig veel opvragingen. Stel je kunt op de Artis-site via een API de voedertijden opvragen, en jij maakt een app over apen (haha, hij zei apie en dat lijkt op API) die onder meer laat zien waar je in Amsterdam apen kunt bewonderen, inclusief de voedertijden van Artis, dan zie ik niet welk belang van Artis hier geschaad zou worden.

Dat zal rechthebbenden er echter niet van weerhouden met juridische dreigbrieven te komen. Of, iets praktischer, de opvragingen vanuit jouw app detecteren en blokkeren. En dat laatste mogen ze, ook als daar eigenlijk geen reden voor is. Het is hun server en willen ze jou niet faciliteren, dan houdt het op.

Arnoud