By Angela Palacios
Innovation is a really broad concept, but it all comes down to a key element: meeting customer needs, as explained by Mark O’Neil, Product Manager for Developer Platform at Blackboard. He added, “When open source combines itself with an open platform, it is able to generate products that go beyond what may be offered by commercial suppliers.”
Blackboard Learn is an example of this, because through providing architectures such as REST APIs (a RESTful architecture to design network applications) developers are enabled to write custom applications which interact with Blackboard Learn data using a known interface. REST APIs meet the integration needs of the community in a modern and easier way.
REST APIs for everyone!
Mark explains that, since 2003, Blackboard has provided open APIs called Building Blocks for Java, meaning that they required the use of Java. Also, in 2007, a set of SOAP-based web services (or APIs) was introduced, that in spite of not requiring Java only supported a subset of the use cases for which Building Block APIs provided. Although SOAP-based applications could be written in their the developer’s preferred language, additional libraries were required in many cases to satisfy SOAP complexities.
Now, REST APIs are used because, “It is a modern architecture, is easier to adopt to build applications that can integrate with our products. REST is used in a simpler way than both Building Blocks or SOAP; the requests, and the returned results are use JSON, which is considerably simpler to use and contains less markup than the XML required by SOAP,” as said by Mark.
REST APIs allow the use of the developer’s language of choice, provided it supports HTTPS and has access to a JSON library. This optimizes use of internal experience and reduces delivery times.
The Developer Platform and REST APIs were released in the Spring of 2016 under technical preview with the Q2 2016 release of Blackboard Learn, but are now available for production use. This means, “We are lowering the barriers of entry for developers interested in Blackboard products,” Mark stated.
How do they do it?
- Opening the documentation, anyone can read about what can be done currently with the REST API and we are evolving the REST APIs with every SaaS release.
- Making the source code of the example available in Github. Currently there are examples written in cURL, Java, C #, Go, Ruby, Python. “We are working to deliver examples in other languages and the Community site is a great resource for exchanging ideas and asking questions.”
- A model to deliver development environments to the community more effectively is being developed.
Blackboard on the way to the expansion of openness history
Since 2003, Blackboard Learn has been an open product in terms of opportunity, through the use of APIs to access and manage Learn data, and to provide unique tools to Learn users.
According to Mark, “Today we are extending that opportunity by taking a different approach and publishing our examples and API documentation to anyone who is interested in developing an application that integrates with Blackboard Learn, enabling them to investigate, adopt using the REST APIs and build their product.”
This is one of the biggest keys to innovation in open source, because the fact that everything can be reached by the community means that there are more development resources and new opportunities for improvement.
In addition to these reasons, O’Neil emphasizes other issues to consider for open source to be a subject of constant growth: solution sharing and rapid response; “The more we share, the more we grow as a global community. Access to source code allows the community to drive product development as fast as necessary,” explains O’Neil.
“Why not work with Open Source?”
According to O’Neil, detailing the reasons why open source is a great benefit to the community becomes almost endless, so the question of “why not do it?” is always reconsidered, because although there are difficulties, there are plenty of reasons which equate and outperform them in terms of benefits, such as the following:
- My code may not be good enough: “I’m positive it could be improved! I had the same concern when I started participating in the open source community. If my code works as I expect, it’ll be good enough; people are very excited to see a provided solution.” The community has always been receptive and supportive – I have learned a lot from fellow developers!”
- My solutions are specifically institutional: “This is just a design problem – to abstract the components that are specifically institutional so that others can make the necessary changes and find a generic”
- What about open source support?: “This depends on the project for sure, but most of them are in use in some production capacity, and have great support from the community.”
- Open source gives you the opportunity to learn from the solutions others give
- Reusing existing code speeds time to reaching a solution
- Contributing to the community favors both them, me, and my institution.
We are openly delivering the knowledge to prototype, and we are delivering REST APIs for building the next level of learning tools.
Open source in the Future of e-learning
One of the biggest challenges lies in the resources that are required for the development and contribution of solutions to the open source community and the institutional value. However, more and more open source developments are favoring open specifications and technologies for learning, since access to the LMS/VLE API and open standards such as LTI, Caliper, LIS, and Common Cartridge are seen as areas of opportunity in which the open source community can drive innovation.
Open source has an interesting development field as well:
- Pedagogical tools: “They enhance teaching and learning because they show concepts or personalized content interactively.”
- Analytical tools: “They gather the activity performance and enable a better learning experience.”
Both are examples of the use of learning technologies that allow the understanding of the relationship between content and performance. They also provide an improved and personalized learning experience. The use of technologies for learning is also made visible, in order to produce the selection of guided courses based on previous experience.
About Mark O’Neil
Mark has worked for Blackboard for seven years. He started as the Technical Product Manager for Blackboard Learn, a position in which he supervised the adoption and enhancement for several standards including IMS Learning Tool Interoperability (LTI), Learner Information Services (LIS), Common Cartridge, CAS, and Shibboleth. During that time, he facilitated the development of the Blackboard SIS Framework to simplify the integration with student information systems and the Authentication Framework to streamline the management and installation of standard and custom authentication models.
He is the current Senior Product Manager for the Blackboard Developer Platform and is responsible for delivering what he calls the “Blackboard developer experience,” that is, everything (including APIs) which developers use for creating applications for teaching and learning that integrate with Blackboard products.
He has a long history with the development of software for Blackboard; he has developed open source applications, administered a campus Learn installation and related curricular systems. In 2005, he met with a group of Blackboard clients to start a mailing list that shared tips, tricks, and development solutions that they called BB-OpenSrc. This mailing list grew into OSCELOT (Open Source Community for Education Learning Objects and Tools), a community he co-founded that provides Open Source e-learning solutions.
Photos by: AFP Ian Thomas Jansen