Meet Jil. Jil is studying Psychology at the University of Amsterdam. She is into week four of her study and is scrambling to piece together her weekly tasks. After she logged in to the learning management system, she has to click her way through countless menus and switch between different websites to scrape together the information she needs. The timetable is not embedded into the LMS and only shows lectures and exams, but can't show deadlines. The weblectures can be found in a submenu of the LMS but are not clearly bound to a lecture. If she wants to start the weekly assignment, she first has to login to the digital assessment application and start to look for her assignment there.
Why not one agenda for (almost) everything?
Wouldn’t it be nice to have all the information you need as a student in one place, e.g. your agenda? In there would be direct links to relevant information on a specific deadline or the weblecture corresponding to the given lecture on a specific date. Everything would be accessible from a tool that is widely used anyway. No more switching between countless websites. So why don’t we have such a system already?
One of the problems can be found in the acquisition process for software at universities. At such large scale, it is slower than the changing needs of the users and lags behind developments in technology. On top of that, the cost to extend or connect already existing applications is high. What we are left with, is a bunch of applications that have not been made to talk to each other. Since the chance is small that this will change anytime soon, we are left with finding workarounds.
In this blogpost, we want to share the insights we gained while trying to merge together the information form different applications into one calendar feed for our students.
The first challenge we encountered, was finding a sufficiently flexible calendaring application. Preferably it would be free, support embedding more than just text into calendar events, easy to share across devices and have strong support to take in information from other apps. Our best match ended up to be TeamUp.
One of the features that distinguishes TeamUp from most of the other calendaring apps we came along, is the strong support for adding more than just text to each event. Each event has a field that can be filled with formatted text, links, pictures and uploaded files. This way, a lecture event can contain the link to download lecture slides, additional material or even pictures that exemplify a concept. A quiz event can link to the correct quiz in the digital testing application. All of this, while not looking like coming straight from the digital 90s.
Another strong point of TeamUp is its support for sharing and embedding each calendar. It is easy to show your calendar in your learning management system via an iFrame. Just copy and paste some code and you are done. TeamUp also allows for each calendar to be subscribed to. This means you can sync a TeamUp calendar into your own calendaring app of choice. The only downside to that is that the rich event description can get lost along the way. For mobile users, TeamUp provides an app that is able to display that information, so the issue can be circumvented.
So far so good, but what about importing information into the app? This is where things got tricky. To start out easy, we wanted to create a connection with our official time-table application, MyTimetable. MyTimetable supports the export of its information via an .ics feed and TeamUp does support the import. This means that we can link both applications easily. Hooray! Well… not really. The catch is, the import into TeamUp is read-only.
This means that we cannot change the calendar events form MyTimetable in TeamUp, therefore taking away all added value of the connection. And there were even more problems to solve. Other applications that could provide time information, like our digital testing application Remindo, do not have any integrated functions to export e.g. the time of exams or their location. Blackboard, our current LMS, was not build to share its information that freely, either. We are stuck, our dreams of an easy way to create a unified feed shattered. But hey, we still have some recomendations for the future.
A possible solution?
One way to achieve our goal would be to require future software for universities to have strong and open APIs, a system that allows applications to talk to each other. This would open the door to writing our own scripts connecting the applications. We could build little modules that scrape information from other apps and pipe it into our “enriched” layer. Currently, the nice thing is that the API of TeamUp supports the wishes we have. The not-so-nice thing is getting the information from the source apps. Many of the apps do not have baked-in support for exporting the information we want and getting your hands on the API documentation can already be difficult on its own.
Despite this, we have not given up yet. Currently we are researching ways to reliably connect MyTimetable, whch has a well developed API, with TeamUp as a proof of concept.
Our quest for the “feed to rule them all” is not over yet. In the meanwhile, you can let us know what you think about our plan in the comments. Do you share the vision? Or do you know of a better way to achieve our goal? Feel free to share.