Every year, Wallscope takes on a group of students from Hogeschool van Amsterdam, or the Amsterdam University of Applied Sciences, and gives them a project to complete as part of their masterproef, or dissertation. We like to work with students as it gives us the opportunity to develop young talent and help the students put their theoretical skills to use in a real world business application. It also keeps us on our toes — students tend to have fresh ideas and a willingness to work with cutting edge technologies. These usually bubble up and help us make better, more informed decisions when it comes to our own projects. As we work mainly with semantic technologies, the students are usually thrown in the deep end with a project involving Linked Data in some capacity. This year was no different in that regard.
Recently, we have been working on a system that allows someone who isn’t familiar with Linked Data to build their own structured vocabulary with a few clicks, and visualise the vocabulary and its relationships as it grows. The aim of building a tool like this is to make the world of Linked Data and structured vocabularies more accessible to a wider audience. Currently, only domain experts are using this technology, but we want any of our clients to be able to create their own linked datasets. The vocabulary would specifically be a SKOS Vocabulary, and as a result would be hierarchical in nature (a concept may have parent and children concepts).
One issue that we encountered was that when a vocabulary gets large enough, it becomes very difficult to visualise it effectively. For instance, in one of our very early prototypes we had a sideways tree view that worked amazingly on small vocabularies, however when a larger vocabulary was imported (in this case, the UNESCO Thesaurus), it became unusable and ended up looking something like this:
At this point, it may be necessary to explain in laymen terms what a SKOS Vocabulary is. If you want a technical run through, the docs can be found here. SKOS is essentially a W3C Consortium standard for publishing controlled vocabularies.
A controlled vocabulary is an organised arrangement of words and phrases used to index content and/or to retrieve content through browsing or searching. It typically includes preferred and variant terms and has a defined scope or describes a specific domain. — Getty
This is where the students come in — their task was to query our API, fetch a vocabulary and display it in a meaningful way to a user. Prior to our first (virtual, because COVID) meeting, the students had never heard of (at least in any detail) Linked Data, Structured Vocabularies, RDF, SPARQL, or any other buzzword you’d encounter in our field. We specifically tried not to let the students see our work so far, to make sure any ideas they came up with were original. We figured in this case, a blank slate was the best place to start.
Typically, during the project the students fly over to Edinburgh to work with us here in our offices. We work closely together, literally, and come up with solutions together. We also try and get the students to see some of what our beautiful city has to offer, from views from Arthur’s Seat, to going down to the local pubs. However, Coronavirus has put normal life on hold, and like everyone else, we’ve had to adapt. Wallscope has switched over to working completely remotely, and as a result this meant that the student project would be conducted remotely as well.
Over the course of a month, we met once a week on Google Meet to go over any questions the students had, and they would show us any progress they made. We also brought the students into our company Slack and set up a channel for them to ask any questions they had. In the end, the students ended up with a design extremely similar to our original prototypes: a tree view to one side, and a a visualisation on the other, where one can flip between three different ways of displaying the data:
I spoke to some of the students involved to get a better idea of how they found the experience and to help us shape the project in the future.
Q: What were your expectations coming into this project? Were they met? Why or why not?
A1: My expectations were to learn something new from using D3 and a framework like Vue. I learned a lot from D3 (had minor experience with D3) and I learned a lot from linked data and structured vocabularies. However for the Vue part, I am picking that up this summer as we chose a vanilla approach.
Q: Did you learn anything useful over the course of the project?
A1: TONS! Everything about Linked Data and all connected theory was completely new for me, but it was really interesting taking that deep dive.
A2: Working as a team goes well with google meetings and github projects. Also working with devs abroad is something that I think was really fun to do, shame we couldn’t have pizza’s and beers together tho :(
Q: Did working with a company in industry add any value to your project? Did it teach you anything?
A1: Mostly the orientation was quite different from doing school projects. There is a very clear focus on the goal and what we were asked to do, so it felt much more meaningful.
A2: I learned a lot about linked data and big companies that are adapting this technique more and more.
Q:What was the process of designing/building this application? Any thoughts on your decision making process/building process?
A1: Normally we would really observe the user’s behaviour but that was something that was not possible this year due Covid-19. So all our decisions were based on interviews with you guys and a few assumptions. Which normally is not a way of designing that I like.
A2: Well, I focused mostly on performance and I have definitely tried some new and inspiring stuff that I will take with me. Especially the entire workflow I set up with the lighthouse CI, build step and service worker integration and making it all automated was really interesting and something I would recommend people who are interested to take a look at.
Q: Anything we could have done differently?
A1: The description of the assignment beforehand was really hard to understand. After the first meeting we are realised that it just was really difficult to explain, I do think however that the description for the students could have been much more comprehensive.
Q:Anything we did well?
A1: Great support, API & documentation. Hats off!
A2: The atmosphere, meetings and support were really great and I really liked working with you guys. Also the articles that Antero wrote on Medium were a really good intro to the subject.
(shameless plug, Antero’s Medium posts can be found here: https://medium.com/@anteroduarte)
Q: Overall thoughts on the project?
A1: Really intriguing subject and some really cool tech that I will definitely keep in mind with future endeavours. I hope I am able to work with Wallscope again in the future
A2: Very technical. But highly interesting if you want to become a better developer and designer.
Overall we were impressed with the student’s work. In the matter of mere weeks they had grasped some difficult subjects, and asked us informed questions which made us reflect on some design decisions we might have made too rashly. At the end of the project, the students presented to their school, and that was it! Usually, in non-COVID times, the students come up to Edinburgh, and at the end of the project we take them out for beers and pizza. However, sadly, this will have to be postponed until safer times!