OXIAE / SOFTWAREONTWIKKELING

Webapplicatie Laten Maken.

Maak bedrijfsprocessen toegankelijk via een webapplicatie die op je gebruikers aansluit.

Bespreek jouw project
DE DIENST UITGELEGD

Wat moet een gebruiker in je webapplicatie zelfstandig kunnen afronden?

Een webapplicatie laat mensen via de browser een taak uitvoeren, zoals een melding registreren, informatie aanpassen of een overzicht raadplegen. Het ontwerp gaat over de hele gebruikersstap: begrijpen wat nodig is, gegevens invoeren, fouten herstellen en kunnen vaststellen wat is opgeslagen. OXIAE werkt die stappen met je uit voordat de schermen worden gebouwd. De bredere keuze tussen bestaande software en maatwerksoftware blijft daarbij het uitgangspunt.

Wanneer is dit passend?

Dit past wanneer gebruikers op verschillende locaties een concrete taak met dezelfde applicatie moeten uitvoeren en bestaande schermen onvoldoende aansluiten. Begin met één volledige taak en de mensen die die in hun werk doen. Draaien de taken specifiek om externe klanten, hun dossiers en vrijgegeven informatie, bekijk dan een klantportaal.

Wanneer kies je beter anders?

Een informatieve website of bestaand formulier kan voldoende zijn als de gebruiker alleen informatie leest of een eenvoudig bericht achterlaat. Is nog onzeker of de doelgroep de voorgestelde taak nodig heeft, dan kan een MVP eerst die productaanname onderzoeken. Een volledige applicatie is daarvoor niet vanzelf de juiste eerste stap.

PRAKTISCHE VERDIEPING

Een webapplicatie moet ook bij fouten bruikbaar blijven

Een webapplicatie bestaat uit meer dan ingevulde schermen. Ik ontwerp de complete gebruikershandeling: toegang krijgen, informatie invoeren, opslaan en later hervatten. We bepalen wat gebeurt bij een verlopen sessie, een ongeldige waarde of een verbinding die wegvalt tijdens het opslaan. [1]

De server controleert gegevens en rechten, ook wanneer iemand de browserinterface omzeilt. Toegankelijkheid wordt in formulieren en navigatie meegenomen. De acceptatie test daarom naast de succesvolle route ook toetsenbordbediening, herstel na fouten en het verschil tussen gebruikersrollen met dezelfde gedeelde link. [2]

Vragen om vooraf te beantwoorden

  • Welke onvoltooide invoer moet iemand na een fout kunnen herstellen?
  • Welke gegevens zijn per gebruikersrol leesbaar en wijzigbaar?

Maak de oplevering meetbaar

  • Een gebruikersstroom getest met toetsenbord, foutieve invoer en sessieverloop.
  • Rechtentests op de server voor lezen en wijzigen van gegevens.
FICTIEF VOORBEELD VAN EEN GEBRUIKERSROUTE

Een facilitaire melding invoeren, onderbreken en terugvinden

Dit is een fictief ontwerpvoorbeeld, geen klantcase of geteste applicatie. Een medewerker meldt een defecte lamp via de browser. De eerste versie omvat locatie, omschrijving, een expliciet opgeslagen concept en een bevestigde melding; foto’s, offline werken en automatische conceptopslag vallen buiten dit voorbeeld.

  1. Open de afgebakende taak

    De medewerker kiest “Defect melden”. Het formulier noemt de benodigde locatie en omschrijving. Op de afgesproken telefoonweergave staan die velden onder elkaar. Met toetsenbordbediening loopt de focus in een logische volgorde door de velden en acties; ieder veld heeft een herkenbaar label.

  2. Herstel een invoerfout

    Bij een ontbrekende ruimte meldt het formulier welk veld aangevuld moet worden en hoe. De al ingevoerde omschrijving blijft bij deze correctie staan. De medewerker kan via de foutmelding naar het veld; een kleur alleen draagt de melding niet.

  3. Bewaar bewust een concept

    Voor deze proef wordt een expliciete knop “Concept opslaan” gekozen. Het concept staat op de server en krijgt pas een bevestiging na geslaagde opslag. Vooraf worden toegang en bewaartermijn bepaald; de inhoud wordt in dit voorbeeld niet blijvend in de browser opgeslagen. Een conceptbevestiging betekent nog geen ingediende melding.

  4. Hervat na verlopen toegang

    Tijdens een onderbreking verloopt de sessie. De medewerker meldt zich opnieuw aan en opent het bevestigde concept uit stap 3. Nog niet opgeslagen wijzigingen worden niet als hersteld voorgesteld. De medewerker controleert de inhoud; opnieuw aanmelden verstuurt niets.

  5. Onderzoek een onderbroken verzending

    Na “Melding indienen” komt geen antwoord terug. Het scherm toont dat de uitkomst nog onbekend is. De applicatie controleert met de vaste verzendreferentie of de melding is vastgelegd. Opnieuw aanbieden van dezelfde inzending mag geen tweede melding maken; zolang de controle geen uitsluitsel geeft, blijft de uitkomst onzeker.

  6. Toon het bevestigde resultaat

    Alleen wanneer de server de vastgelegde melding bevestigt, verschijnt “Melding geregistreerd” met referentie en inhoud. De medewerker kan het resultaat opnieuw openen. Die bevestiging meldt registratie, geen geplande reparatie. De terugkoppeling en vervolgactie worden ook op het afgesproken telefoonscherm en met toetsenbordbediening getoetst.

Wat dit proces oplevert

Het ontwerp maakt onderscheid tussen invoer in het formulier, een opgeslagen concept, een onzekere verzending en een geregistreerde melding. De medewerker krijgt per toestand een concrete vervolgstap. Of dit in de uiteindelijke applicatie correct werkt, wordt met de afgesproken acceptatietests vastgesteld.

Zo toets je dit voorbeeld

  • Laat de ruimte leeg, herstel de fout en controleer of de omschrijving behouden blijft. Doorloop dezelfde correctie met toetsenbord en op het afgesproken telefoonscherm.
  • Laat een sessie verlopen nadat het concept bevestigd is en vóór de volgende opslag. Controleer dat alleen de bevestigde conceptinhoud terugkomt, zonder automatisch indienen.
  • Onderbreek het antwoord zowel vóór als ná opslag op de server. De melding blijft onzeker zolang de controle geen uitsluitsel geeft. Bevestigt de controle bestaande opslag, of slaagt een gecontroleerde herhaalde inzending met dezelfde verzendreferentie nadat is vastgesteld dat niets was opgeslagen, dan bestaat precies één geregistreerde melding voor die referentie. Er verschijnt geen registratiebevestiging vóór die bevestigde uitkomst.
  • Vergelijk de bevestigingspagina en opnieuw geopende melding met het opgeslagen record. Een concept, validatiefout of nog onzekere verzending krijgt geen registratiebevestiging.

Welke aanpak past bij jouw vraag?

Kies op basis van het werk, de betrokken mensen en wat je kunt beheren.

AanpakGeschikt wanneerAfweging
Bestaand formulier of bestaande applicatieDe taak, controles en terugkoppeling passen in de huidige mogelijkheden.Toets de volledige route, inclusief correcties, bevestiging en onderbrekingen. Alleen vergelijkbare velden aanbieden is onvoldoende.
Webapplicatie op maatDe invoer, interactie en getoonde uitkomst vragen een eigen gebruikersflow.Naast de schermen horen opslag, sessies, foutafhandeling en beheer bij de afgesproken scope.
Klikbaar prototype vóór ontwikkelingDe belangrijkste onzekerheid is of gebruikers de voorgestelde schermen en stappen begrijpen.Een prototype kan de interactie verkennen; het bewijst nog geen werkende opslag, herstel of verwerking met echte gegevens.

Wat is nodig om te starten?

  • Eén volledige gebruikerstaak met beginpunt, benodigde velden, controles, uitkomst en uitgestelde functies. Gebruik representatieve invoer en fouten die in het dagelijks werk voorkomen.
  • Een lijst van ondersteunde browsers, schermformaten en bedieningsvormen. Leg vast hoe labels, toetsenbordfocus, foutmeldingen en terugkoppeling worden getoetst.
  • Afspraken over concepten en sessies: of tussentijds opslaan nodig is, waar dat mag, wie het concept kan openen en wanneer het vervalt. Browseropslag is geen standaardkeuze voor ingevoerde gegevens; maak vóór invoer duidelijk of herstel beschikbaar is en welke wijzigingen nog niet zijn opgeslagen.
  • Een herkenbare bevestiging nadat de server de afgesproken opslag heeft bevestigd. Spreek ook af wat de gebruiker ziet bij ongeldige invoer, een verlopen sessie en een onbekende uitkomst na een time-out.
  • Bepaal of een bestaande bron alleen wordt geraadpleegd of ook gewijzigd. Een API-koppeling kan daarvoor nodig zijn; maak in het scherm onderscheid tussen lokaal vastgelegde invoer en de bevestigde uitkomst in het andere systeem.

Hoe beoordelen we het resultaat?

  • Gebruikers doorlopen de gekozen taak met geldige, onvolledige en ongeldige invoer. Foutmeldingen benoemen het veld en de herstelactie; reeds geldige invoer blijft bij die correctie beschikbaar. De server controleert invoer en bevoegdheid ook als browsercontroles worden omzeild.
  • Een succesmelding verschijnt alleen bij een bevestigd opgeslagen resultaat. De gebruiker kan dat resultaat opnieuw openen en herkennen aan een referentie en de vastgelegde inhoud; alleen een knop indrukken of een verzoek versturen telt niet als opslag.
  • Dubbel klikken en opnieuw aanbieden na een onderbreking maken geen tweede record voor dezelfde inzending. Een time-out blijft een onbekende uitkomst totdat gecontroleerd is wat is opgeslagen; de applicatie toont een veilige vervolgstap.
  • Een verlopen sessie geeft geen toegang tot afgeschermde inhoud. Na opnieuw aanmelden werkt de afgesproken conceptherstelroute, of wordt duidelijk aangegeven welke invoer opnieuw nodig is. Hervatten verstuurt de taak niet automatisch.
  • De afgesproken telefoon- en desktopformaten, browsers en toetsenbordroute worden getest. Invoer, foutcorrectie en bevestiging blijven bereikbaar, met zichtbare focus en begrijpelijke meldingen die ook met de gekozen ondersteunende technologie worden gecontroleerd.
SCOPE & INVESTERING

Wat bepaalt de kosten?

Een bruikbare kosteninschatting begint bij de scope. Ik onderscheid ontwikkelwerk van terugkerende gebruiks- en beheerkosten. Dit zijn de belangrijkste factoren:

  • Een afgebakende eerste versie omvat één volledige gebruikerstaak, de gekozen velden en schermen, één opslagroute en expliciete normale en afwijkende testgevallen. Extra taken, bijlagen of uitgebreide zoekfuncties blijven apart in de scope.
  • Het aantal schermtoestanden en uitzonderingen bepaalt mede het werk: correcties, concepten, sessieverloop, bevestiging en onzekere opslag. Spreek af welke browsers, schermformaten en bedieningsvormen onderdeel zijn van de acceptatie.
  • Koppelingen, bestaande gegevens en invoering vragen eigen werk. Hosting, opslag, externe diensten, onderhoud en ondersteuning worden afzonderlijk geraamd; permanente beschikbaarheid of ondersteuning is geen automatische afspraak.
TOEPASSING EN AFBAKENING

Jouw uitdaging.
Een concrete toepassing.

Illustratief scenario; geen gepubliceerde klantcase.

Teams of klanten moeten vanaf meerdere locaties met dezelfde gegevens werken.

Een webapplicatie is via de browser bereikbaar, maar de gebruikers en rechten verschillen per toepassing. Een klantportaal richt zich op externe gebruikers. Is het productidee nog onzeker, dan kan een MVP eerst één belangrijke gebruikersstap toetsen voordat een bredere applicatie wordt uitgewerkt.

DE VRAAG DIE IK EERST STEL

Welke gebruikersgroepen zijn er en welke acties moeten zij kunnen uitvoeren?

Spreek de eerste stap af

Gebruik de randvoorwaarden, oplevercriteria en kostenfactoren hierboven om je opdracht af te bakenen. Spreek af wie het resultaat beoordeelt en wie de oplossing beheert. In onze werkwijze lees je hoe verkenning, uitvoering en overdracht samenhangen.

Bekijk onze werkwijze
VRAGEN OVER DEZE DIENST

Jouw vragen.
Heldere antwoorden.

Wat kost een webapplicatie laten maken?

Een raming begint bij een volledige gebruikerstaak en de situaties die moeten werken. Het aantal velden zegt weinig zonder controles, schermtoestanden, opslag, koppelingen en herstel. Ik maak de eerste scope en acceptatie concreet, met ontwikkeling en terugkerende kosten apart.

Werkt de webapplicatie ook op een telefoon en zonder muis?

We bepalen vooraf de benodigde browsers, schermformaten en bedieningsvormen. Vervolgens toetsen we de hele taak: invoeren, fouten herstellen, verzenden en het resultaat openen. Een scherm dat kleiner schaalt bewijst op zichzelf nog niet dat die route bruikbaar is.

Blijft mijn invoer behouden als de sessie verloopt?

Dat hangt af van de afgesproken conceptroute. Expliciet opslaan, automatische opslag of opnieuw invoeren vragen verschillende keuzes over toegang en bewaren. Zonder ontworpen en geteste herstelroute beloof ik geen behoud. Na opnieuw aanmelden moet duidelijk zijn welke inhoud bevestigd was opgeslagen en welke wijzigingen opnieuw nodig zijn.

Hoe weet een gebruiker dat verzenden echt is gelukt?

De bevestiging hoort bij een door de server bevestigd opgeslagen resultaat dat opnieuw kan worden geopend. Een time-out bewijst geen mislukking. De applicatie moet eerst de uitkomst controleren en voorkomen dat opnieuw aanbieden dezelfde inzending dubbel vastlegt. Een bevestigde registratie zegt alleen iets over de afgesproken opslag, niet automatisch over verdere behandeling.

Bronnen en technische onderbouwing

Deze primaire bronnen onderbouwen de technische principes in deze uitleg. De projectaanbevelingen zijn de interpretatie van OXIAE; de uitgevers bevelen OXIAE daarmee niet aan. Productdocumentatie geldt voor het genoemde platform.

  1. Web Content Accessibility Guidelines (WCAG) 2.2W3C

    Toetsbare criteria voor formulieren, navigatie en foutmeldingen.

    Link en relevantie gecontroleerd:
  2. Authorization Cheat SheetOWASP

    Rechtencontrole bij iedere relevante serveraanvraag.

    Link en relevantie gecontroleerd:
JOUW VOLGENDE STAP

Bereid je projectgesprek voor.

Verken je Webapplicatie Laten Maken? Gebruik de projectchecklist om je taak, systemen en gewenste uitkomst te beschrijven. Verzamel open vragen en download een brief voor je gesprek.

Maak je projectbrief
VAN VRAAG NAAR VOLGENDE STAP

Wat wil jij
mogelijk maken?

Plan een kennismaking