
 Stijn Huygh
Stijn Huygh.jpg?auto=compress,webp&upscale=true&width=610&height=488&name=train%20driving%20in%20city%20(1).jpg)
In Deel 1. De wetenschappelijke methode onderzochten we de toepassing van de wetenschappelijke methode bij het oplossen van zakelijke uitdagingen. In deel 2 duiken we in een probleem uit de praktijk en laten we zien hoe de wetenschappelijke methode bij ACA wordt gebruikt om een revolutie teweeg te brengen in de detectie van treinaankomsten voor een klant.
In deel 1. De wetenschappelijke methode onderzochten we de toepassing van de wetenschappelijke methode bij het oplossen van zakelijke uitdagingen. In deel 2 duiken we in een probleem uit de praktijk en laten we zien hoe de wetenschappelijke methode bij ACA wordt gebruikt om de detectie van treinaankomsten voor een klant revolutionair te verbeteren.
De uitdaging: De aankomst van treinen met precisie detecteren
De reis begon met de vraag van een klant: "Kunnen we binnen een paar seconden nauwkeurig detecteren of treinen aankomen en vertrekken op een perron?". Om deze vraag te beantwoorden, pasten we de iteratieve aanpak van de wetenschappelijke methode toe, die vijf belangrijke stappen omvat:
- Identificeer en analyseer het probleem
- Vorm een hypothese
- Experimenten uitvoeren om de hypothese te testen
- Gegevens analyseren
- Conclusie trekken uit de resultaten
Om een vraag als de bovenstaande op te lossen, zijn meestal een paar iteraties nodig om tot een volledig bevredigend resultaat te komen.
Iteratie 1: Waar beginnen we?
Stap 1: Het probleem identificeren en analyseren
De onderzoeksvraag luidt als volgt: "Is het mogelijk om de aankomst en het vertrek van een trein op een perron te detecteren met de tijdresolutie van enkele seconden met behulp van een smartphone?". In de eerste stap is het belangrijk om het probleem te analyseren: het begrijpen van de eigenschappen van aankomst en vertrek. Rekening houdend met de beperkingen van het project, kunnen deze eigenschappen worden gemeten met behulp van de GPS-functionaliteit in een smartphone. Bovendien is de snelheid nauwkeurig beschikbaar in de ontvangen gegevens, omdat deze wordt gemeten met behulp van de dopplerverschuiving van de draaggolffrequenties.
In dit geval konden we vertrouwen op bestaande kennis en aannames, wat een solide uitgangspunt voor probleemoplossing bood. Als er geen bekende waarheden bestaan, moet je vooronderzoek doen. In dit geval konden we ons baseren op eerder werk.
Stap 2: Vorm een hypothese
Onze hypothese: "Als we de positie en snelheid met eenGPS verzamelen, kunnen we de aankomst en het vertrek op een platform betrouwbaar bepalen op basis van de positie- en snelheidskenmerken en met een goede tijdresolutie."
De hypothese is meetbaar, wat belangrijk is om een experiment op te zetten waarbij gelabelde gegevenspunten vergeleken kunnen worden met de voorspelde gegevens.
Stap 3: Experimenten uitvoeren om de hypothese te testen
In stap 3 zetten we een proof of concept op dat zich richt op essentiële gegevens en de voorgestelde oplossing om onnodige details te vermijden voordat we de hypothese bewijzen. We ontwikkelden een app die aGPS-info en gelabelde snelheid opslaat voor rijden of stilstaan. Omdat we de beperkingen van aGPS kenden, pasten we filters toe die gebruik maakten van versnellingsmetergegevens, treinbeperkingen en voorspelde routes, waardoor de locatienauwkeurigheid aanzienlijk verbeterde. Dit resulteerde in een aanzienlijke verbetering van de locatiegegevens.
Stap 4: Gegevens analyseren
De resultaten van de experimenten:
- Succesvolle detectie van aankomst en vertrek op een perron
- Uitstekende systeemstabiliteit
- Onbetrouwbare snelheid door inconsistente beschikbaarheid op basis van herkomst locatiegegevens
- Onvoldoende tijdresolutie, resulterend in onvoorspelbare locatie-uitvoer.
Stap 5: Conclusie over de resultaten
Ondanks de goede aanvankelijke resultaten voldeed de voorgestelde oplossing niet aan de essentiële vereiste voor tijdresolutie. Het bouwen van een systeem met een consistente outputsnelheid wordt onhaalbaar tijdens het rijden in een enorme kooi van Faraday die signalen kan blokkeren.
Iteratie 2: Terug naar de tekentafel
Stap 1: Het probleem identificeren en analyseren
De eerste iteratie voldeed niet aan de verwachtingen, maar dat ontmoedigde ons niet. We realiseerden ons de onoplettendheid in tijdresolutie. Bovendien pasten we in die tijd bij ACA met succes nieuwe technieken toe op een soortgelijk probleem.
De versnellingsmeter leverde betrouwbare gegevens en door deze te combineren met de gyroscoop en magnetometer verkregen we gerichte versnelling. Omdat we verschillende versnellingspatronen verwachtten voor verschillende vervoerswijzen en -toestanden, zoals stilstaan en rijden, besloten we een Naïve Bayes-algoritme te gebruiken. Dit algoritme voor leren onder toezicht creëert een probabilistische classificator die stilstand en rijden voorspelt op basis van gemeten eigenschappen.
Stap 2: Vorm een hypothese
Er ontstond een nieuwe hypothese: "Naïve Bayes classifier kan worden gebruikt om onderscheid te maken tussen het versnellingspatroon van lopen en de superpositie daarvan met een versnellingspatroon van een trein in beweging."
Stap 3: Experimenten uitvoeren om de hypothese te testen
Er werd een applicatie gemaakt om gegevens te verzamelen die werden gelabeld met de juiste toestand. Vervolgens trainden we de Naïve Base-klassificator met behulp van verschillende gegevenskenmerken, zoals maximum, minimum, gemiddelde, norm, standaardafwijking, afstand tot het platform en minimaal vereiste snelheid.
Stap 4: Gegevens analyseren
Meerdere classifiers werden getraind, getest en beoordeeld met behulp van verwarringmatrices. De resultaten toonden aan dat rijden 94% van de tijd correct werd geïdentificeerd, maar dat stilstand slechts 48% van de tijd correct werd geïdentificeerd, waarbij de classificator stilstand in 52% van de gevallen ten onrechte als rijden bestempelde.

Stap 5: Conclusie over de resultaten
De Naïve Bayes classificeerders hadden niet de vereiste nauwkeurigheid voor ons probleem. De kenmerken overlapten elkaar aanzienlijk, waardoor geen onderscheid kon worden gemaakt tussen stilstaan en rijden. Bovendien konden de classificeerders de voorbijgaande aard van aankomst en vertrek niet nauwkeurig vastleggen, waardoor verder onderzoek naar een oplossing nodig was.
Iteratie 3: Het draait allemaal om de verandering
Stap 1: Identificeer en analyseer het probleem
De vorige experimenten toonden aan dat snelheid en positie onvoldoende tijdsresolutie hadden en dat probabilistische modellen moeite hadden met de voorbijgaande aard van aankomst en vertrek. Nu we het belang van het voorbijgaande aspect inzien, is het duidelijk dat eigenschappen als snelheid of positie niet cruciaal zijn; in plaats daarvan is versnelling de sleutel. Aankomst kan worden gedefinieerd als een vertraging gevolgd door een periode zonder versnelling, terwijl vertrek een versnelling is die wordt voorafgegaan door een periode zonder versnelling.
Stap 2: Vorm een hypothese
Er werd een nieuwe hypothese geformuleerd: "Het is mogelijk om de voorbijgaande aard van aankomst en vertrek op een platform te gebruiken om de aankomst en het vertrek te detecteren met een goede tijdsresolutie en een goede nauwkeurigheid."
Stap 3: Experimenten uitvoeren om de hypothese te testen
Om ons te richten op het gebruik van versnellingsmeterdata voor aankomst- en vertrekdetectie, gebruikten we data van de vorige iteratie, waarbij we een nieuw onderzoeksdomein betraden met als doel een signaalanalysealgoritme te bouwen voor classificatie.
In de volgende stappen worden meerdere grafieken toegevoegd. De rode achtergrond geeft aan dat de trein op het perron stond, groen geeft aan dat de trein in beweging was.
- Kijk naar de gegevens:Bekijk de grafiek van het Y-kanaal van de versnellingsmeter. We kozen ervoor om de versnelling in eerste instantie niet te projecteren op de werkelijke as, om het in zijn ruwe vorm te houden en zo de benodigde rekenkracht te minimaliseren. 
 Er was niet veel te vertellen aan ons programma met deze gegevens, het ziet er voornamelijk willekeurig uit. 
- Voer gegevensmanipulaties uit om de duidelijkheid te verbeteren:
 Snelheid blijft constant tijdens het rijden en stilstaan, maar aankomst en vertrek worden gekenmerkt door veranderingen in versnelling. Bij aankomst is er sprake van vertraging gevolgd door geen versnelling, terwijl er bij vertrek sprake is van versnelling na een periode van geen versnelling. Accumulatie van versnelling in de tijd laat trends zien die vergelijkbaar zijn met snelheid, maar met opmerkelijke veranderingen tijdens aankomst en vertrek, wat inzicht geeft voor interpretatie van het programma, hoewel verdere signaalverwerking noodzakelijk is. 
- Bereken de gradiënt:
 Om te voorkomen dat de oorspronkelijke gegevens worden opgehaald door de gradiënt uit de cumulatieve curve te halen, worden de gegevens extra gemanipuleerd. De cumulatieve curve wordt afgevlakt door middel van een voortschrijdend gemiddelde van één seconde. Op macroscopisch niveau behoudt de curve zijn uiterlijk, maar de ruis in de gegevens wordt verminderd. De resulterende grafiek, waarin voor de volledigheid alle drie de kanalen zijn opgenomen, wordt verkregen door de gradiënt te nemen. 
- De gegevens opschonen:
 De huidige gegevens blijven ruisachtig en vormen een uitdaging voor de interpretatie van het programma. In stilstandgebieden (rode gebied) wordt minimale versnelling waargenomen, terwijl het rijgebied aanzienlijke fluctuaties vertoont. Dit weerlegt het idee van constante snelheid tijdens beweging, dat wordt toegeschreven aan treintrillingen en acceleratie/deceleratie. In tegenstelling tot het idee van constante snelheid, vergroot dit verschil tussen de toestanden de kans op het vinden van een haalbare oplossing, waarbij beide toestanden worden aangepakt in plaats van alleen de overgang tussen stilstand en rijden. Om de kwaliteit van de gegevens te verbeteren is een hoogdoorlaatfilter toegepast, dat drift (groene en blauwe curve niet gecentreerd rond 0) en elektronische ruis (constante frequentie in de groene curve) verwijdert. De resultaten zijn als volgt: 
- Teken van versnelling negeren:
 Om de richtinggevoeligheid van de versnelling te negeren, elimineren we de tekens en worden de kanalen gecombineerd door de absolute waarde te nemen en de drie kanalen bij elkaar op te tellen.Om de resterende ruis in de gegevens te verminderen, wordt een cut-off toegepast, waarbij onbelangrijke versnellingen worden genegeerd. 
 Met behulp van deze verwerkte gegevens wordt een eenvoudig algoritme bedacht voor het bepalen van aankomst en vertrek. Zoals eerder vermeld, wordt aankomst gekenmerkt door vertraging gevolgd door geen versnelling, terwijl vertrek versnelling is na een periode van geen versnelling. Dit onderscheid is duidelijk zichtbaar in de grafiek, waar +1 staat voor vertrek en -1 voor aankomst op het perron. 
Stap 4: Gegevens analyseren
De gegevensanalyse vond voornamelijk plaats tijdens het experiment. Vervolgens werd ons algoritme getest met ongebruikte gegevens, waarbij enkele fout-positieven werden gevonden, maar geen fout-negatieven. Dit vergemakkelijkt het optimaliseren van de gegevens. Hoewel gegevens niet uit het niets gegenereerd kunnen worden, helpt het combineren van metingen met aGPS-gegevens om valse positieven uit te filteren.
Stap 5: Concludeer op de resultaten
Het algoritme dat in deze iteratie van de wetenschappelijke methode werd ontwikkeld, bewees onze laatste hypothese.
"Het is mogelijk om de voorbijgaande aard van aankomst en vertrek op een platform te gebruiken om de aankomst en het vertrek te detecteren met een goede tijdresolutie en een goede nauwkeurigheid."
Conclusie: Een reis naar precisie
In deze blogpost hebben we het volledige proces beschreven om een complex probleem met precisie op te lossen. Door middel van iteraties, leren van mislukkingen en het weggooien van veronderstelde kennis, hebben we een betrouwbare oplossing gemaakt.
Het algoritme, dat bekende wiskunde combineert met aGPS-gegevens, kan nauwkeurig de aankomst en het vertrek van treinen op een perron detecteren met alleen een smartphone, met een tijdresolutie van minder dan 1 seconde.
Wilt u meer weten over onze bewezen methode voor het oplossen van IT-problemen?
Of bent u op zoek naar een ervaren partner voor app-ontwikkeling?

What others have also read



Liferay DXP is de afgelopen jaren uitgegroeid tot een veelgebruikt portaalplatform voor het bouwen en beheren van geavanceerde digitale ervaringen. Organisaties gebruiken het voor intranetten, klantportalen, self-service platforms en meer. Hoewel Liferay DXP bekend staat om zijn gebruiksvriendelijkheid, kan de standaard zoekfunctionaliteit verder worden geoptimaliseerd om te voldoen aan de moderne verwachtingen van gebruikers. Om dit aan te pakken heeft ACA een geavanceerde oplossing ontwikkeld die de standaard zoekmogelijkheden van Liferay aanzienlijk verbetert. Lees er alles over in deze blog. Zoeken in Liferay: niet altijd efficiënt Traditioneel waren organisatorische zoekopdrachten gebaseerd op individuele trefwoorden . Intranetgebruikers zochten bijvoorbeeld op termen als "verlof" of "vergoeding" om de informatie te vinden die ze nodig hadden. Dit resulteerde vaak in een overvloed aan resultaten en documenten , waardoor gebruikers deze handmatig moesten uitpluizen om relevante informatie te vinden - een tijdrovend en inefficiënt proces dat de gebruikerservaring belemmert. De manier waarop gebruikers zoeken is veranderd De opkomst van AI-tools zoals ChatGPT heeft de manier waarop mensen naar informatie zoeken veranderd. Dit is ook zichtbaar in online zoekmachines zoals Google, waar gebruikers hun zoekopdrachten steeds vaker formuleren als complete vragen. Bijvoorbeeld: "Hoe vraag ik verlof aan?" of "Op welke reiskostenvergoeding heb ik recht?" . Om aan deze veranderende zoekbehoeften te voldoen, moet de zoekfunctionaliteit niet alleen snel zijn, maar ook natuurlijke taal kunnen begrijpen. Helaas schiet de standaard zoekfunctie van Liferay op dit gebied tekort. ACA ontwikkelt geavanceerde AI-gestuurde zoekfunctie voor Liferay Om tegemoet te komen aan het hedendaagse zoekgedrag, heeft ACA een geavanceerde oplossing ontwikkeld voor Liferay DXP 7.4 installaties: Liferay AI Search . Door gebruik te maken van het GPT-4o taalmodel zijn we erin geslaagd om de standaard zoekmogelijkheden van Liferay aanzienlijk te verbeteren. GPT-4o is een state-of-the-art taalmodel getraind op een uitgebreide dataset van tekstuele informatie. Door GPT-4o in onze oplossing te integreren, hebben we de zoekalgoritmes aangepast om complexere zoekopdrachten te verwerken , inclusief vragen in natuurlijke taal. Hoe werkt Liferay AI Search? Gesloten dataset Het AI model heeft alleen toegang tot data binnen de gesloten Liferay omgeving. Dit zorgt ervoor dat alleen relevante documenten - zoals die uit de Bibliotheek en Mediabibliotheek - toegankelijk zijn voor het model. Beheerders controle Beheerders kunnen bepalen welke content wordt opgenomen in de GPT-4o dataset, waardoor ze de nauwkeurigheid en relevantie van zoekresultaten verder kunnen optimaliseren. Afhankelijk van het profiel van de gebruiker worden de antwoorden en zoekresultaten afgestemd op de informatie waartoe hij of zij toegang heeft. Directe antwoorden Dankzij de GPT-4o integratie biedt de zoekfunctionaliteit niet alleen traditionele resultaten, maar ook directe antwoorden op gebruikersvragen. Hierdoor hoeven gebruikers niet meer door zoekresultaten te spitten om de specifieke informatie te vinden die ze nodig hebben. De vergelijking hieronder illustreert het verschil tussen de zoekresultaten van Liferay DXP's standaard zoekfunctie en de verbeterde resultaten van ACA's Liferay AI Search. Wilt u Liferay AI Search in actie zien? Bekijk de demo hieronder of via deze link! Voordelen van Liferay AI Search Of u nu Liferay DXP gebruikt voor uw klantenplatform of intranet, Liferay AI Search biedt tal van voordelen voor uw organisatie: Verhoogde gebruikerstevredenheid: Gebruikers kunnen snel precieze antwoorden vinden op hun vragen. Verbeterde productiviteit: Er wordt minder tijd besteed aan het zoeken naar informatie. Verbeterde kennisdeling: Belangrijke informatie is makkelijker te vinden en te delen. Conclusie Met Liferay AI Search verhoogt ACA de zoekfunctionaliteit van Liferay DXP om te voldoen aan de moderne verwachtingen van gebruikers. Door GPT-4o te integreren in Liferay DXP 7.4 levert deze oplossing niet alleen traditionele zoekresultaten, maar ook directe, relevante antwoorden op complexe zoekopdrachten in natuurlijke taal. Dit leidt tot een snellere, gebruiksvriendelijkere en efficiëntere zoekervaring die zowel de productiviteit als de gebruikerstevredenheid aanzienlijk verhoogt. Klaar om de zoekfunctionaliteit van uw Liferay platform te optimaliseren Neem vandaag nog contact met ons op!
Lees verder


Op de hoogte blijven van de nieuwste trends en best practices is cruciaal in de snel evoluerende wereld van softwareontwikkeling. Innovatieve benaderingen zoals EventSourcing en CQRS kunnen ontwikkelaars in staat stellen flexibele, schaalbare en veilige systemen te bouwen. Op Domain-Driven Design (DDD) Europe 2022 gaf Paolo Banfi een verhelderende lezing over deze twee technieken. Wat is EventSourcing? EventSourcing is een innovatieve benadering van gegevensopslag die prioriteit geeft aan de historische context van een object. In plaats van alleen de huidige status van een object vast te leggen, slaat EventSourcing alle gebeurtenissen op die tot die status hebben geleid. Het creëren van een goed ontworpen event model is cruciaal bij het implementeren van EventSourcing. Het eventmodel definieert de events die zullen worden opgeslagen en hoe ze zullen worden gestructureerd. Zorgvuldige planning van het eventmodel is cruciaal omdat het het gemak van gegevensanalyse beïnvloedt. Het eventmodel aanpassen na de implementatie kan lastig zijn, dus het is belangrijk om het vanaf het begin goed te doen. Wat is CQRS CQRS (Command Query Responsibility Segregation) is een techniek die lees- en schrijfbewerkingen in een systeem scheidt om de efficiëntie en begrijpelijkheid te verbeteren. In een traditionele architectuur interageert een applicatie met een database door middel van een enkele interface. CQRS scheidt echter de lees- en schrijfbewerkingen, die elk door verschillende componenten worden afgehandeld. EventSourcing en CQRS combineren Een van de voordelen van het combineren van EventSourcing en CQRS is dat het bijhouden van wijzigingen en het controleren van gegevens eenvoudiger wordt. Door alle gebeurtenissen bij te houden die tot een bepaalde toestand hebben geleid, is het eenvoudiger om veranderingen in de loop van de tijd bij te houden. Dit kan vooral nuttig zijn voor toepassingen die auditing of regelgeving vereisen. Bovendien biedt het scheiden van lees- en schrijfbewerkingen op deze manier verschillende voordelen. Ten eerste optimaliseert het het systeem door het verminderen van conflicten en het verbeteren van de schaalbaarheid. Ten tweede vereenvoudigt het het systeem door de zorgen van elke kant te isoleren. Ten slotte verbetert het de beveiliging van gevoelige gegevens door de toegang tot de schrijfkant van het systeem te beperken. Een ander belangrijk voordeel van het implementeren van CQRS is de eliminatie van de noodzaak om de hele gebeurtenisstroom te doorlopen om de huidige status te bepalen. Door lees- en schrijfoperaties te scheiden, kan de leeszijde van het systeem speciale modellen onderhouden die geoptimaliseerd zijn voor het bevragen en ophalen van specifieke gegevensweergaven. Als gevolg hiervan is het niet langer nodig om de hele gebeurtenisstroom te doorlopen wanneer het systeem om de laatste status wordt gevraagd. In plaats daarvan kunnen de geoptimaliseerde leesmodellen efficiënt de benodigde gegevens leveren, wat leidt tot betere prestaties en minder vertraging. Wanneer EventSourcind en CQRS gebruiken? Het is belangrijk op te merken dat EventSourcing en CQRS niet voor elk project geschikt zijn. Het implementeren van EventSourcing en CQRS kan vooraf meer werk vergen dan traditionele benaderingen. Ontwikkelaars moeten tijd investeren in het begrijpen en effectief implementeren van deze benaderingen. Voor systemen die een hoge schaalbaarheid, flexibiliteit of beveiliging vereisen, kunnen EventSourcing en CQRS echter een uitstekende oplossing bieden. De beslissing om CQRS of EventSourcing te gebruiken voor uw toepassing hangt af van verschillende factoren, zoals de complexiteit van uw domeinmodel, de schaalbaarheidsvereisten en de behoefte aan een uitgebreid controlespoor van systeemgebeurtenissen. Ontwikkelaars moeten de specifieke behoeften van hun project evalueren voordat ze beslissen of ze deze benaderingen gaan gebruiken. CQRS is vooral nuttig voor applicaties met complexe domeinmodellen die verschillende gegevensweergaven vereisen voor verschillende use cases. Door de lees- en schrijfbewerkingen in afzonderlijke modellen te scheiden, kun je de leesbewerkingen optimaliseren voor prestaties en schaalbaarheid, terwijl je toch een enkele bron van waarheid voor de gegevens behoudt. Event Sourcing is ideaal als je een volledige en nauwkeurige registratie van alle wijzigingen in je systeem in de loop van de tijd moet bijhouden. Door elke gebeurtenis vast te leggen en op te slaan in een alleen-append log, kun je een onveranderlijke audit trail creëren die gebruikt kan worden voor debugging, compliance en andere doeleinden. Conclusie De combinatie van EventSourcing en CQRS kan ontwikkelaars aanzienlijke voordelen bieden, zoals meer flexibiliteit, schaalbaarheid en beveiliging. Ze bieden een frisse benadering van softwareontwikkeling die ontwikkelaars kan helpen toepassingen te maken die beter aansluiten bij de behoeften van moderne organisaties. Als je meer wilt weten over EventSourcing en CQRS, dan zijn er online veel uitstekende bronnen beschikbaar. Conferenties en lezingen zoals DDD Europe zijn ook uitstekende gelegenheden om op de hoogte te blijven van de laatste trends en best practices in softwareontwikkeling. Zorg ervoor dat je deze kansen niet mist als je voorop wilt blijven lopen! De volgende editie van Domain-Driven Design Europe vindt plaats in Amsterdam van 5 tot 9 juni 2023. Wist je dat ACA Group een van de trotse sponsors is van DDD Europe? {% module_block module "widget_bc90125a-7f60-4a63-bddb-c60cc6f4ee41" %}{% module_attribute "buttons" is_json="true" %}{% raw %}[{"appearance":{"link_color":"light","primary_color":"primary","secondary_color":"primary","tertiary_color":"light","tertiary_icon_accent_color":"dark","tertiary_text_color":"dark","variant":"primary"},"content":{"arrow":"right","icon":{"alt":null,"height":null,"loading":"disabled","size_type":null,"src":"","width":null},"tertiary_icon":{"alt":null,"height":null,"loading":"disabled","size_type":null,"src":"","width":null},"text":"More about ACA Group"},"target":{"link":{"no_follow":false,"open_in_new_tab":false,"rel":"","sponsored":false,"url":{"content_id":null,"href":"https://acagroup.be/en/aca-as-a-company/","href_with_scheme":"https://acagroup.be/en/aca-as-a-company/","type":"EXTERNAL"},"user_generated_content":false}},"type":"normal"}]{% endraw %}{% end_module_attribute %}{% module_attribute "child_css" is_json="true" %}{% raw %}{}{% endraw %}{% end_module_attribute %}{% module_attribute "css" is_json="true" %}{% raw %}{}{% endraw %}{% end_module_attribute %}{% module_attribute "definition_id" is_json="true" %}{% raw %}null{% endraw %}{% end_module_attribute %}{% module_attribute "field_types" is_json="true" %}{% raw %}{"buttons":"group","styles":"group"}{% endraw %}{% end_module_attribute %}{% module_attribute "isJsModule" is_json="true" %}{% raw %}true{% endraw %}{% end_module_attribute %}{% module_attribute "label" is_json="true" %}{% raw %}null{% endraw %}{% end_module_attribute %}{% module_attribute "module_id" is_json="true" %}{% raw %}201493994716{% endraw %}{% end_module_attribute %}{% module_attribute "path" is_json="true" %}{% raw %}"@projects/aca-group-project/aca-group-app/components/modules/ButtonGroup"{% endraw %}{% end_module_attribute %}{% module_attribute "schema_version" is_json="true" %}{% raw %}2{% endraw %}{% end_module_attribute %}{% module_attribute "smart_objects" is_json="true" %}{% raw %}null{% endraw %}{% end_module_attribute %}{% module_attribute "smart_type" is_json="true" %}{% raw %}"NOT_SMART"{% endraw %}{% end_module_attribute %}{% module_attribute "tag" is_json="true" %}{% raw %}"module"{% endraw %}{% end_module_attribute %}{% module_attribute "type" is_json="true" %}{% raw %}"module"{% endraw %}{% end_module_attribute %}{% module_attribute "wrap_field_tag" is_json="true" %}{% raw %}"div"{% endraw %}{% end_module_attribute %}{% end_module_block %}
Lees verder


Je kunt niet iets ontwerpen of ontwikkelen voor alle 7,9 miljard mensen op deze planeet. Dus als we aan een project beginnen, bepalen we een doelgroep om het te beperken. Van daaruit bouwen we onze functies en ontwerpen op een manier die geschikt lijkt voor die doelgroep. Wat we echter niet kunnen beperken zijn de toegankelijkheidsfuncties. Iedereen moet de mogelijkheid hebben om jouw creatie te gebruiken of te ervaren. Sommige apparaten hebben ingebouwde functies zoals Google Talkback , waarbij je apparaat je kan vertellen wat er op het scherm gebeurt en die informatie zelfs kan gebruiken met een digitale braillelezer. Of soms zorgen we ervoor dat onze platforms toegankelijk zijn om te gebruiken, zoals onze website, die overigens een Google Lighthouse toegankelijkheidscore van 98 heeft! Maar waarom zouden we het daarbij laten? Elk stuk content moet toegankelijk zijn voor iedereen. Dit geldt ook voor PDF-bestanden. Ga aan de slag met deze 3 tips die we hebben verzameld aan de hand van een MediMarket Case Study : Doe een toegankelijkheidscontrole met Acrobat Pro First things first: doe een toegankelijkheidscontrole met Adobe Acrobat Pro. Deze controle geeft meteen in een duidelijke lijst aan welke problemen je moet aanpakken. Sommige van deze problemen kun je direct in Acrobat Pro oplossen, voor andere moet je terug naar je bronbestand of handmatig controleren. Je kunt wat meer kennis vergaren door op de optie Document automatisch markeren te klikken. Hierdoor wordt de PDF gelezen en krijg je nog een toegankelijkheidsoverzicht over ontbrekende alt-tekst, maar daarover later meer. Besef het belang van de leesvolgorde Heb je ooit een schermlezer horen flippen omdat hij je leesvolgorde of structuur in het PDF-bestand niet begrijpt? Stel je iemand voor die veel te snel praat, zonder te stoppen en zonder enig idee wat hij wil zeggen. Klinkt chaotisch, toch? Denk nu eens aan de gebruikers die echt afhankelijk zijn van dit soort digitale hulpmiddelen. Je PDF is in principe nutteloos als dit gebeurt. Zorg er dus voor dat je een gestructureerd document hebt met de juiste identiteitskoppen, paragrafen en secties wanneer je de PDF maakt. Wil je dit toevoegen aan een bestaande PDF? Met Acrobat Pro kun je de leesvolgorde later lezen dankzij hun toegankelijkheidsopties. In deze schermafbeelding kun je duidelijk zien wat de schermlezer als eerste, tweede, derde enzovoort zal lezen. Wist je dat Alt Text ook mogelijk is in PDF-bestanden? Is dit de verrassing van de dag of heb je nooit de moeite genomen om een alternatieve tekst toe te voegen aan je documenten? Nou, begin met het toevoegen van alt-tekst op afbeeldingen of interactieve velden. Een schermlezer kan je JPEG-bestanden niet lezen en je moet uitleggen wat er wordt weergegeven. Overdrijf het echter niet, je gebruiker hoeft echt niet te weten dat je die schattige kattenfoto als opvulling hebt toegevoegd. Doe dit niet alleen met afbeeldingen. Audio- en video-elementen hebben ook alt-tekst nodig. Dit is niet alleen nodig voor gebruikers die slecht zien of horen, maar ook voor gebruikers met een slechte internetverbinding die alleen de tekst van je PDF kunnen downloaden. Er is nog veel meer mogelijk, maar deze 3 tips kunnen je zeker op weg helpen! Wat ik echter echt wilde bereiken met deze blogpost is dat je gaat nadenken over het toegankelijker maken van al je content. Wil je meer informatie over toegankelijkheid, bijvoorbeeld in mobiele applicaties? Ga naar onze diensten en kijk zelf waar we je mee kunnen helpen!
Lees verderWant to dive deeper into this topic?
Get in touch with our experts today. They are happy to help!

Want to dive deeper into this topic?
Get in touch with our experts today. They are happy to help!

Want to dive deeper into this topic?
Get in touch with our experts today. They are happy to help!

Want to dive deeper into this topic?
Get in touch with our experts today. They are happy to help!

