AFSTUDEERVOORSTEL Jason Koolman 1619090 Student Studentnr. Opleiding Inleverdatum Jason Koolman 1619090 Informatica (Information Engineering) 13-02-2016 Inhoud 1. Inleiding .................................................................................................................................. 2 2. De stageverlenende organsatie ............................................................................................. 3 2.1. Yunits framework ............................................................................................................ 3 3. Opdrachtomschrijving ............................................................................................................ 4 3.1 Probleemstelling............................................................................................................... 6 3.2 Relatie met de studie ....................................................................................................... 6 3.3 Mogelijke valkuilen........................................................................................................... 7 3.4 Onderzoeksmethoden ...................................................................................................... 8 4. Betrokkenen ........................................................................................................................... 9 5. Globale aanpak ..................................................................................................................... 10 5.1 Theoretisch kader ........................................................................................................... 10 1 1. Inleiding In dit document wordt het afstudeerproject van Jason Koolman voorgelegd aan de afstudeercommissie van de Hogeschool Utrecht (HU). Onderdelen van dit verslag zijn de context van de opdracht, binnen welke kaders deze opdracht uitgevoerd dient te worden en welke vaardigheden van belang zijn om het project succesvol uit te voeren. Tijdens het schrijven van dit document is rekening gehouden met de eisen en richtlijnen zoals die gesteld zijn in het boek Leren Communiceren van Steehouder. Het bedrijf waar ik wil afstuderen is een internetbureau genaamd Yard. Zij werkt met een team van professionals aan complexe mobiele websites, kennisbanken, online netwerken en intranetten. Daarvoor maakt zij gebruik van een eigen framwork genaamd Yunits. Ook wordt er gebruik gemaakt van WordPress, een welbekend open-source CMS. Het project is oorspronkelijk bedacht door het Yard-team en is in afstemming met mij verder uitgewerkt tot een - in onze opinie - volwaardig afstudeerproject. 2 2. De stageverlenende organsatie de context waarbinnen het afstudeerproject zal plaatsvinden, d.w.z: - een beschrijving van de organisatie/afdeling waar de opdracht wordt uitgevoerd; de positie/taken/verantwoordelijkheden van de student binnen de organisatie; Yard is een full-service internetbureau gevestigd in Utrecht en Amsterdam van 26 man sterk, waarvan 21 voltijd werknemers. Dit team van professionals bestaat uit projectmanagers, designers, developers, sales- en supportmedewerkers. Zij werken aan complexe maatwerk applicaties, e-learning omgevingen, kennisplatformen en intranetten. De focus van Yard ligt voornamelijk op het online verbinden, samenwerken en delen van kennis. Klanten van Yard zijn middelgrote en grote profit en non-profit organisaties uit alle delen van Nederland, zoals de GGD, de GGZ en de NVB. Daarnaast zijn er ook enkele projecten buiten de Nederlandse grens uitgevoerd. Yard richt zich voornamelijk op de sectoren zorg en welzijn, educatie en sport en beweging. Echter, dit sluit niet uit dat zij enkel binnen deze sectoren actief is. 2.1. Yunits framework Voor de realisatie van webapplicaties gebruikt Yard een eigen ontwikkelframework genaamd Yunits. Dit framework is geschreven in de programmeertaal PHP (5.6) en maakt gebruik van componenten afkomstig uit welbekende Symfony framework. Met behulp van Yunits kunnen grootschalige kennisplatformen, ook wel bekend als communities, relatief eenvoudig en snel worden opgezet. Een framework is te vergelijken met het fundament van een huis. Het vormt een sterke basis voor het bouwen van een applicatie en neemt standaard werkzaamheden uit de hand. Het wiel hoeft hierdoor niet telkens opnieuw uitgevonden te worden, waardoor je eenvoudiger en efficiënter high-end applicaties kunt ontwikkelen. Yunits is modulair opgebouwd, wat inhoud dat - wanneer nodig - modules aan of juist uitgeschakeld kunnen worden per applicatie. Zo is er een nieuws-, gebruiker- of betaalmodule die ieder zijn eigen stukje functionaliteit biedt aan de applicatie. Op deze manier kan Yunits schaalbaarheid aanbieden aan haar klanten. Indien de klantbehoefte maatwerk vereist, kunnen modules individueel overschreven worden per applicatie. 3 3. Opdrachtomschrijving Yard heeft mij gevraagd met een backend oplossing te komen om binnen het Yunits framework content op maat aan te bieden aan haar eindgebruikers. Door het gebruikersgedrag bij te houden kan een gebruikersprofiel op basis van dit gedrag automatisch kunnen worden aangevuld. Het idee is afkomstig van Yard en in afstemming met mij verder uitgewerkt tot een - in onze opinie - volwaardig afstudeerproject. Het gaat hier over een productopdracht in combinatie met het verrichten van een onderzoek om tot het gewenste eindresultaat te komen. ‘Content op maat’ gaat er vanuit dat de consument de juiste content op het juiste moment via het juiste kanaal krijgt. Hierbij bepaalt de consument wat ‘juist’ is en wat niet. Vandaag de dag is het aanbieden van content op maat zeer belangrijk om gebruikers te behouden en daarnaast ook om deze te werven op een website. Voornamelijk grootschalige kennisplatformen moeten up-to-date gehouden worden en interessant blijven voor de gebruiker om te bezoeken. Het begrip “content” is behoorlijk breed, maar kan omschreven worden als de inhoud of het eindresultaat van een product of dienst. In dit geval gaat het om digitale content in de vorm van documenten, posts (berichten), reacties en media (video’s en afbeeldingen). Door gebruikersgedrag van iemand na te gaan kan een zogeheten digitaal profiel worden opgesteld van de desbetreffende persoon. Op deze manier kan men erachter komen waar de interesses van een bepaalde gebruiker liggen of wat deze juist niet leuk vindt. Aan de hand van een gebruikersprofiel kan een website content op maat aanbieden. Het idee is dat het systeem de “voetsporen” van de gebruiker naloopt om zo met behulp van enige AI (artificiële intelligentie) bruikbare/nuttige data te verkrijgen. Zolang duidelijk is welke voordelen ze dit oplevert, is 45% van de Nederlanders bereid daar persoonlijke gegevens voor af te staan. Iets meer dan een derde van de ondervraagde Nederlanders verwacht zelfs van ondernemingen dat ze persoonlijke data gebruiken om relevante suggesties te doen. Dat blijkt uit het rapport Microsoft Digital Trends 2015. Met deze kennis van de gebruiker kan de user experience, oftewel de gebruikerservaring, aanzienlijk verbeterd worden. Zo levert het zoeken naar content relevantere resultaten op en worden suggesties of aanbevelingen ineens interessant voor de gebruiker. Het is dus de bedoeling dat het systeem als het ware zelf ‘nadenkt’, wat ook wel machine learning wordt genoemd Wat is het VERNIEUWENDE van de opdracht???!? Momenteel kan met het framework van Yard nog niet goed bijgehouden worden wat een gebruiker precies doet op haar applicaties. Dit zorgt ervoor dat nuttige gebruikersinformatie voor haar klanten misgelopen wordt en niet vrijgegeven kan worden om zo tot nieuwe inzichten te komen. Stel dat een gebruiker op de website van de klant komt maar niet met 4 het doel om hier gebruik van te maken moeten er toch manieren gevonden worden om deze een potentiële gebruiker te maken van deze applicatie. Door zijn/haar gedrag te bestuderen kunnen advertenties op maat aangeboden worden of eventuele interesses voor de applicatie worden opgewekt als bekend is dat de gebruiker geen potentiële applicatiegebruiker is. Gebruikers die wel gebruik maken van een applicatie van de klant kunnen nu niet bijgestaan worden wanneer dit wel zou moeten. Als een klant iets mist op de applicatie en dit wordt opgemerkt door het gebruikersgedrag te observeren, doordat de gebruiker de applicatie sluit binnen een korte tijd kan er gekeken worden naar eventuele toevoegingen aan de applicatie die deze persoon langer op de applicatie zal houden. 5 3.1 Probleemstelling Het huidige dilemma is dat het Yunits framework weinig doet met het concept ‘Content op maat’. Hierdoor krijgt een website vrij snel een statische look & feel. Zo zal gebruiker x tijdens het browsen dezelfde pagina’s te zien krijgen als gebruiker y, terwijl de behoeftes en interesses van deze gebruikers enorm kunnen verschillen. Er wordt vandaag de dag weliswaar wel iets gedaan met het tonen van content op maat, dit wordt echter in beperkte mate gedaan. De hoofdvraag bevindt zich momenteel in de concept-fase en dient verfijnd te worden in de loop van het project, maar geeft een duidelijk beeld van het op te lossen probleem. Hoe kan het Yunits framework, met behulp van tracking, content op maat aanbieden aan haar eindgebruikers? 3.2 Relatie met de studie Ten eerste is de opdracht voornamelijk backend georiënteerd, wat het “onzichtbare” deel van de applicatielogica betreft. Hier zal veel programmeerwerk aan te pas komen. Tijdens mijn studie heb ik verschillende cursussen gehad die goed hierop aansluiten. Zo heb ik onder andere de cursussen Webprogramming, Java en OO-programmeren gevolgd. Deze kennis zal van pas komen tijdens het werken met het Yunits framework. Dit omdat vele modules veranderd moeten worden die momenteel geïmplementeerd zijn in dit framework om zo gebruikersgegevens te kunnen bijhouden. Doordat ik al enige ervaring heb met dit framework zal er minder voorbereiding nodig zijn om aan de slag te gaan met dit project. Wel is er extra kennis vereist over hoe deze backend oplossing tot stand moet komen, een vaardigheid die tijdens mijn studie is gekneed en gevormd. Problemen die tijdens projecten met studiegenoten zich voordeden hadden ook als vereiste dat er grondig onderzoek naar gedaan moest worden, iets wat nu goed van pas zal komen. Naast het programmeren en vooronderzoek verrichten zijn er ook andere vaardigheden die ik tijdens mijn studie heb vervaardigd. Tijdens het afstudeerproject zal ik moeten presenteren en communiceren, iets waarbij een cursus als Leren communiceren of de vele presentaties die ik heb moeten geven handig zijn om deze vaardigheden toe te kunnen passen op de werkvloer. Doordat het werken met Yunits een bepaald niveau Engels vereist is de cursus Business English tijdens mijn studie goed geweest om mijn vaardigheid in de Engelse taal te verbeteren. In de eerste periode van mijn 4e studiejaar heb ik de minor Systems Security afgerond. Tijdens deze minor heb ik de onder andere de cursussen Cryptografie en Security techniek gevolgd. Alhoewel het Yunits framework uit een veilige codebase bestaat, zullen deze vakken goed van pas komen tijdens de realisatie van het content op maat concept. Ook zal het vak Juridische aspecten goed te pas komen, aangezien de wetgeving omtrent het tracken van gebruikers behoorlijk strikt is. 6 3.3 Mogelijke valkuilen - Opdracht is te groot of te klein? - Regelgeving omtrent tracking 7 3.4 Onderzoeksmethoden - Onderzoeksmethoden o Welk type gegevens moeten er verzameld worden? o Moet er een derde partij (externe service) betrokken bij worden? 8 4. Betrokkenen Siebe van Schalkwijk zal fungeren als bedrijfsbegeleider. Na zijn bachelor Information Technology heeft hij op de universiteit Business informatics afgerond. Binnen Yard vervult hij de functie technisch consultant. Naast zijn enorme ervaring en kennis van marketing en consultancy heeft Siebe ook verstand van programmeren. Zijn functie is voornamelijk het soepel laten verlopen van de communicatie tussen de klant en de programmeurs. Tel. 0612312321 E-mail [email protected] LinkedIn https://nl.linkedin.com/in/siebevanschalkwijk/en Dennis van Aalst is hoofd techniek, waar ik en collega’s terecht kunnen met vragen. Wanneer Siebe afwezig is vervult Dennis de rol als mijn begeleider. Als hoofd stond hij al aan de basis van vele projecten bij Yard, waaronder mijnhuisartsenpraktijk.net E-mail [email protected] https://nl.linkedin.com/in/dennisvanaalst1 Michali Sarris is lead-developer binnen het Yard team. Hij volgde Software engineering aan de HU. Michali heeft alle technische kennis in huis, zoals kennis van OO, MVC patterns, Systeemarchitectuur en is de maker van Yunits. Bij hem kan ik terecht voor diepgaande technische vragen en de globale aanpak van het project. E-mail [email protected] https://nl.linkedin.com/in/michali-sarris-47679616 de bedrijfs-/persoonsgegevens (d.w.z. naam, e-mailadres, telefoonnummer van betrokkenen). indien beschikbaar dient het LinkedIn-account van de bedrijfsbegeleider te worden vermeld; een globale planning; 9 5. Globale aanpak Hond - Globale planning geven 5.1 Theoretisch kader - Artificial intelligence - Tracking - Artikelen opzoeken om “later” te lezen 10