• No results found

Real-time concurrent comments Onderzoek naar het real-time en concurrent plaatsen van comments binnen

In document Comment Mapping (pagina 72-79)

FontoXML

K.G.A. Ruis 01-03-2017 Rijswijk

.-. . .- .-..

- .. -- .

-.-. --- .-.. .-.. .- -...

--- .-. .- - .. --- -.

Voorwoord

Dit onderzoek is geschreven in opdracht van FontoXML en uitgevoerd door een student van De Haagse Hogeschool. Het biedt inzicht in mogelijke oplossingen voor een probleem binnen de XML tekstverwerker FontoXML.

De student heeft dit onderzoek uitgevoerd binnen zijn afstudeeropdracht. De kennis over FontoXML zelf was hierdoor ook minder dan de vaste werknemers van het bedrijf. Dit zou invloed kunnen hebben op de uitkomst van het onderzoek, doordat een buitenstaander het onderzoek heeft verricht.

Op basis van dit onderzoek zal een tweede onderzoek verricht worden. Dit tweede

onderzoek zal zich focussen op de uitkomsten van dit onderzoek en daar dieper op ingaan. Het zal kijken naar de technische aspecten en limitaties van de gekozen oplossing.

Inhoudsopgave

1. Inleiding 10

2. Samenvatting 11

3. Onderzoeksopzet 12

3.1 Interviews 12

3.2 Criteria voor oplossing 13

4. Resultaten 14

4.1 Welke manieren bestaan er om comments real-time te verwerken? 14

Operational Transformation 14

Differential Synchronization 16

Conflict-free Replicated Data Types 18

Externe Service/Database 19

Beste oplossing 20

4.2 Welke features zijn gewenst voor de comments? 22

4.2.1 Moeten comments aanpasbaar zijn? 22

4.2.2 Zijn suggesties ook comments? 22

4.2.3 Moet een comment toegevoegd kunnen worden aan een selectie? 23

4.3 Wat moet er gebeuren bij een error? 23

4.3.1 Wat moet er gebeuren als een comment de server niet bereikt? 24 4.4 Wat moet er gebeuren als er meerdere comments op dezelfde plaats en tijd worden

geplaatst? 24

5. Conclusie 25

6. Discussie 26

Referentielijst 27

Bijlagen 29

Bijlage A. Interviewvragen Youri 29

Bijlage B. Interview Youri Uitwerking 30

Bijlage C. Interviewvragen Martin 32

Bijlage D. Interview Martin Uitwerking 33

Bijlage E. Interviewvragen Erik 36

1. Inleiding

Binnen dit onderzoek wordt er gekeken naar het plaatsen van comments binnen FontoXML. Dit is in de huidige situatie ook al mogelijk, maar om de samenwerking te verbeteren, zal het plaatsen van comments real-time gaan gebeuren. Hiervoor moet de beste manier worden gezocht om dit te kunnen realiseren.

Het huidige systeem slaat deze opmerkingen op in het XML document zelf. Dit heeft

bepaalde consequenties voor het implementeren van real-time comments plaatsen. Daarom is er ook een mogelijkheid dat het plaatsen van opmerkingen voortaan niet langer wordt gedaan door ze op te slaan in het document zelf.

De onderzoeksvraag is dan ook “Wat is de beste manier voor FontoXML om comments real- time te plaatsen?”. Deze vraag zal beantwoord worden door middel van enkele deelvragen, eventueel zelfs ondersteund met subvragen.

● Welke manieren bestaan er om comments real-time te verwerken? ● Welke features zijn gewenst voor de comments?

○ Moeten comments aanpasbaar zijn? ○ Zijn suggesties ook comments?

○ Moet een comment toegevoegd kunnen worden aan een selectie? ● Wat moet er gebeuren bij een error?

○ Wat moet er gebeuren als een comment de server niet bereikt?

● Wat moet er gebeuren als er meerdere comments op dezelfde plaats en tijd worden geplaatst?

2. Samenvatting

Dit onderzoek heeft als doel het ontdekken van de mogelijkheden voor het plaatsen van comments op een real-time en concurrent manier. Hiervoor is gekeken naar verschillende manieren om dit aan te pakken.

De G-Suite applicaties van Google hebben deze functionaliteit al, hierbij wordt gebruik gemaakt van een algoritme wat Operational Transformation heet. Het algoritme bestaat al heel lang, maar de implementatie ervan is complex. Naast dit algoritme worden er nog twee algoritmes behandeld, dit zijn Differential Synchronization en Conflict-free Replicated Data Types.

De drie bovenstaande algoritmes zijn bedacht om met meerdere personen tegelijk een document te kunnen aanpassen. Binnen FontoXML zou dit inhouden dat de comments in de tekst zouden moeten staan, zoals in de huidige implementatie het geval is.

De uitkomst van dit onderzoek neemt als beste keuze geen van de algoritmes die hierboven beschreven staan. Deze oplossing bevat het ontwikkelen van een externe service met een database. De implementatie binnen de huidige architectuur is het beste van de vier

3. Onderzoeksopzet

In dit hoofdstuk wordt de onderzoeksopzet beschreven. Bepaalde delen van het onderzoek worden beschreven om zo inzicht te geven in wat er gedaan is. Dit is ook om later herhaling of uitbreiding van het onderzoek mogelijk te maken.

3.1 Interviews

Binnen het onderzoek zullen verschillende interviews plaatsvinden. Voor het plaatsen van opmerkingen binnen de tekstverwerker zijn binnen het team al verschillende ideeën. Door interviews af te nemen moet het duidelijk worden wat deze ideeën zijn en hoe deze gebruikt kunnen worden in de mogelijke oplossing.

Vooraf zal er worden nagedacht over de vragen van het interview. Deze vragen zullen als bijlage worden toegevoegd aan dit document. De interviews zullen mogelijk niet altijd strak de vragen volgen die vooraf zijn bedacht. De wijzigingen die plaatsvinden tijdens het interview zullen daarna ook worden verwerkt in het verslag van het interview.

Een interview zal plaatsvinden met Youri Bosselaar. Hij houdt zich bezig met UX en Front- end development. Dit houdt in dat hij zich richt op het ontwikkelen van de interface die te zien is voor de gebruikers van FontoXML. Dit maakt hem dan ook de perfecte kandidaat om te vertellen over de mogelijke implementatie aan de front-end.

Een ander interview zal plaatsvinden met Martin Middel. Hij houdt zich meer bezig met XML, de vragen zullen dan ook op hem zijn afgesteld. Dit interview zal meer gericht zijn op de technische aspecten van comments. Martin houdt zich mogelijk met de basis van FontoXML, gericht op de Javascript backend.

Het laatste interview zal plaatsvinden met Erik van Leeuwen. Dit interview vind plaats op advies van Martin Middel, aangezien Erik meer verstand heeft van de server kant van FontoXML. Dit interview zal dan ook gericht zijn op de server architectuur van FontoXML. Ook zal de oplossing rond een database uitgebreid besproken worden.

3.2 Criteria voor oplossing

De criteria voor het kiezen van de oplossing is van groot belang voor het antwoord op de hoofdvraag. Deze criteria worden gebruikt om een afweging te maken van de mogelijke oplossingen die tijdens dit onderzoek naar voren komen. De oplossingen verschillen op een aantal punten, waaronder de geschatte moeilijkheid van de implementatie en de impact op de architectuur van FontoXML.

Met de volgende criteria zal rekening worden gehouden binnen dit onderzoek: ● Geschatte moeilijkheid van de implementatie

● Heeft een server nodig om te functioneren ● Impact op de architectuur

4. Resultaten

In dit hoofdstuk worden de resultaten besproken, dit gebeurd per deelvraag. De resultaten geven gezamenlijk de basis voor het antwoord op de hoofdvraag, wat beschreven staat in de conclusie van dit rapport.

4.1 Welke manieren bestaan er om comments real-time te verwerken?

Real-time collaboration kent vele vormen op het internet, maar ook daarbuiten. Simpel samenwerken op hetzelfde moment, kan al real-time collaboration worden genoemd. Binnen dit onderzoek wordt echter gekeken naar samenwerking terwijl mensen niet op dezelfde plaats zijn en communiceren via het internet.

Dit onderzoek gaat over real-time collaboration binnen het bewerken van documenten. Specifiek op het plaatsen van comments binnen FontoXML. Om dit te kunnen bereiken wordt er binnen deze deelvraag gekeken naar de verschillende manieren waarop dit bereikt kan worden.

In document Comment Mapping (pagina 72-79)