Only a few years ago when Brigham Young students wanted to create a site based on university data they were forced to screen scrape the college’s website. Now BYU has launched a university-wide API and is about to launch a developer portal. David Raths over at Campus Technology explains the fast progress and what the future holds for APIs at BYU.
University staff were alerted to the success of a website from three young BYU students in 2014. When they discovered that the app was built by screen-scraping, they decided to standardise data and expose it through an API so that students could build their own apps and so that the university’s own services would be more connected.
Phil Windley, enterprise architect in BYU's Office of the CIO, remembers there were 950 different services when he returned to BYU in 2014. These services had different protocols, returned data in different formats and were generally inconsistent. The IT team decided to create a university-wide API with one consistent interface. They began by asking themselves what the core functionality of the college was and who their customers were. From this thinking, they decided on five basic resources for the first API: students, instructors, locations, courses and classes.
Part of the motivation behind the move was that it would mean IT staff could swap out underlying apps without disrupting the rest of the college because even if the API changed under the hood, the interface other departments relied on would stay the same.
After three years of work, BYU has completed version one of its API and is all set to launch its developer portal so that third party developers will be able to build apps on top of the API, like the three students mentioned earlier.
The next step will be to develop a personal API based on the Domain of One’s own concept from the University of Mary Washington under which every student will have his or her own personal web domain. The idea behind the personal API is that the university could use each student’s domain as the authoritative source of information about the student, including their current address and contact details. The ultimate goal would be to use the personal API as a learning record store that would give a database of all students’ learning transactions. On each student’s domain could be information like ‘Mike completed quiz 3 and got an A’. The information would be owned by the student but would contain information that could be verified by the college.
BYU is a pioneer in the field of university APIs. But it’s not the only one. Other colleges are working on their own API including UC Berkeley, UC San Diego and Northwestern, all of which have attended API workshops at BYU.