Dit is de weblog van Stuifzand Software.

Een tijdje geleden vroeg een klant van me of ik iets kon verzinnen om het backendproces van zijn webwinkel te verbeteren. Voordat ik begin met het bouwen van een oplossing moet ik erachter komen wat er verbeterd kan worden.

Het onderzoek begint met het kijken hoe in de huidige situatie gewerkt wordt. Een goede oplossing maakt gebruik van de processen in de huidige situatie en past delen aan, zodat er bijna geen wijzigingen zijn voor het personeel.

Een korte kijk in de keuken van de webwinkel van de klant liet zien dat er A4 stickervellen gebruikt worden. Voor elke bestelling wordt het vel een keer door de printer gehaald. En om te zorgen dat erop het juiste label afgedrukt wordt, moet er elke keer aangegeven worden op welke label nu afgedrukt moet worden. Deze oplossing werkt, maar veroorzaakt veel werk voor de persoon die de labels afdrukt.

Dit probleem kan al opgelost worden door een speciale labelprinter te gebruiken. Een labelprinter is een kleine printer die speciaal gemaakt is om losse etiketten en labels af te drukken. Een medewerker gebruikt een bijgeleverd programma waar je de tekst van een label in kunt kopiƫren en plakken en dan afdrukken.

Terwijl de klant de nieuwe labelprinter in gebruik neemt, onderzoek ik hoe ik een speciaal stuk software kan ontwerpen voor de rest van het probleem. De medewerker moest nu nog de tekst van de label uit de webwinkelsoftware knippen en plakken en extra retourlabels afdrukken. De software moet dit allemaal uit handen van de medewerker nemen.

De doelen van de software:

  • De gegevens opzoeken op basis van het ordernummer bij de juiste webwinkel
  • Mogelijkheid tot het aanpassen van de af te drukken tekst
  • Tegelijk een extra label afdrukken met het logo en adres van de webwinkel
  • Meerdere webwinkels ondersteunen

Met deze doelen ga ik aan de slag en heb er een doeltreffend programma van gemaakt. Ik was begonnen met de moeilijke delen van de software. Het inloggen en verzamelen van de gegevens uit de webwinkel en het besturen van de labelprinter.

Deze onderdelen zijn vrij belangrijk voor de software en het is daarom ook een goed idee deze onderdelen eerst los van de rest van de software te bouwen, zodat makkelijk getest kan worden of het werkt. Als je gelijk alle software aan elkaar koppelt dan kun je nooit goed weten waar een probleem zich voordoet.

Het ophalen van de gegevens bestaat uit een aantal stappen. Aangezien de webwinkel geen speciale manier heeft om de gegevens op te halen wordt er gebruikt gemaakt van 'scraping'. Dit betekent dat de software de tekst uit de juiste pagina van de webwinkel schraapt. Om dit te kunnen doen moet het programma eerst inloggen en de juiste pagina vinden. Deze pagina wordt gedownload en de juiste tekst wordt opgezocht met behulp van XPath.

Daarna moet deze tekst doorgestuurd worden naar de labelprinter. Deze printer heeft wel een eigen manier om aangesproken te worden. Daardoor is het makkelijk om een label te laten af drukken. Het is mogelijk om in het bijgeleverde programma een labelbestand te maken met gaten die later door de speciale software worden opgevuld met het ordernummer en de adresgegevens.

Nu de technische onderdelen klaar zijn is het belangrijk om de interface van het programma goed te laten werken in het proces van de webwinkelier. Het moet makkelijk zijn om een bestelling te zoeken en een label af te drukken.

Door de software echt te gebruiken kom je snel kleine probleempjes tegen die meestal makkelijk op te lossen zijn. Door de webwinkelier gebruikt te laten maken kom je snel missende functionaliteit en problemen tegen, zodat er nog iets meer winst kan worden gehaald uit het gebruiken van de software.

De software wordt nu al weer een paar maanden zonder problemen gebruikt en er zijn al meerdere duizenden labels mee afgedrukt.

View archived entries