Continuing from the previous posts (post 1, post 2) on standards & technologies for digital learning, accessibility and other infrastructure/languages/components are discussed. The scope of this trilogy of blog posts is to gather related standards and technologies for the field of digital learning, mapping as fully as possible, the existing solutions that any implementer of relevant services/software, needs to take into consideration.
IMS Access for All (AfA) version 2.0: The workgroup of IMS on Accessibility, focuses on the adaptation or personalization of resources, interfaces and content to meet the needs of individuals (source). The group believes that the accessibility of the resource has to be addressed immediately within a learning context.
This graphic I really liked, is from the same IMS page, outlinining the “layers” that accessibility affects and concerns. Starting from the content creation that needs to be carried out with authoring tools and learning strategies that support accessible content, continuing to design that supports accessibility and assessment that makes sure that learner is successful in learning. It also references the need for websites and other digital products to be designed/created with accessibility in mind and also mentions the need for legal requirements and international standards supporting accessibility.
Recently, the IMS Access For All (v3.0) was released as a public draft specification, containing the following:
- IMS Access for All (AfA) Primer,
- Best Practice & Implementation Guide,
- Core Profiles,
- Information Model Data Element Specification,
- Digital Resource Description Specification Information Model,
- Digital Resource Description (DRD) Binding,
- Personal Needs & Preferences (PNP) Specification Information Model and
- Personal Needs & Preferences (PNP) Binding
In addition to the accessibility specifications offered by IMS, there is the Web Content Accessibility Guidelines 2.0 (WCAG) issued by W3C. Web Content Accessibility Guidelines (WCAG) 2.0 cover a wide range of recommendations for making Web content more accessible. Following these guidelines the content is made accessible to a wider range of people with disabilities, including blindness and low vision, deafness and hearing loss, learning disabilities, cognitive limitations, limited movement, speech disabilities, photosensitivity and combinations of these. Apart from the aforementioned cases, following these guidelines will also often make your Web content more usable to users in general (source).
A really useful guide about web content accessibility standards can be found in the website of California Department of Education, containing specific instructions but also useful references. Another useful resource is the AODA compliance, a primer on Canadian Web Accessibility Standards. This Web Accessibility Checker is also a really useful resource if you want to check the accessibility of your web page.
Other Building Blocks
Apart from the aforementioned components, there are quite some other building blocks that concern the web in general (web services, etc.), that are also used in the digital learning domain. Knowing a thing or two about them, certainly helps when you’re trying to grasp technical details in relation to the services/software deployed in education. To this end, I accumulated some of them in the list below, offering some basic information, taken from the pages that are references each time. The idea is to try and fit these twenty (20) components into a ceherent story of how they are being used in services/applications in education (maybe in a next post).
- Web Service: A Web service is a service offered by an electronic device to another electronic device, communicating with each other via the World Wide Web. In a Web service, Web technology such as the HTTP, originally designed for human-to-machine communication, is utilized for machine-to-machine communication, more specifically for transferring machine readable file formats such as XML and JSON.
- Universal Description Discovery and Integration (UDDI): UDDI is a platform-independent, Extensible Markup Language protocol that includes a (XML-based) registry by which businesses worldwide can list themselves on the Internet, and a mechanism to register and locate web service applications. UDDI is an open industry initiative, sponsored by the Organization for the Advancement of Structured Information Standards (OASIS), for enabling businesses to publish service listings and discover each other, and to define how the services or software applications interact over the Internet.
- Service-Oriented Architecture (SOA): SOA is an architectural pattern in computer software design in which application components provide services to other components via a communications protocol, typically over a network. The principles of service-orientation are independent of any vendor, product or technology. SOA is based on the concept of a service. Depending on the service design approach taken, each SOA service is designed to perform one or more activities by implementing one or more service operations. As a result, each service is built as a discrete piece of code. Web services can implement a service-oriented architecture. They make functional building-blocks accessible over standard Internet protocols independent of platforms and programming languages.
- Resource-Oriented Architecture (ROA): In software engineering, a resource-oriented architecture (ROA) is a style of software architecture and programming paradigm for designing and developing software in the form of resources with “RESTful” interfaces. These resources are software components (discrete pieces of code and/or data structures) which can be reused for different purposes. ROA design principles and guidelines are used during the phases of software development and system integration.
- eXtensible Markup Language (XML): It is a markup language (system for annotating a document in a way that is syntactically distinguishable from the text) that defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. It is defined by W3C and although the design of XML focuses on documents, it is widely used for the representation of arbitrary data structures such as those used in web services.
- Simple Object Access Protocol (SOAP): It is a protocol implementation that allows you to exchange structured information in the implementation of web services. It relies exclusively on XML to provide messaging services and on application layer protocols such as HTTP and SMTP.
- Web Services Description Language (WSDL): It is an XML-based interface definition language that is used to describe the functionality offered by a web service. A WSDL file provides a machine-readable description of how the service can be called, what parameters it expects, and what data structures it returns.
- Web Application Description Language (WADL): It is a machine-readable XML description of HTTP-based web services. WADL models the resources provided by a service and the relationships between them. It is intended to simplify the reuse of web services that are based on the existing HTTP architecture of the Web.It is platform and language independent and aims to promote reuse of applications beyond the basic use in a web browser.
- Really Simple Syndication (RSS): It uses a family of standard web feed formats (data format used for providing users with frequently updated content) to publish frequently updated information: blog entries, news headlines, audio, video. An RSS document includes full or summarized text, and metadata, like publishing date and author’s name. RSS feeds enable publishers to syndicate data automatically. A standard XML file format ensures compatibility with many different machines/programs. RSS feeds also benefit users who want to receive timely updates from favourite websites or to aggregate data from many sites.
- Resource Description Framework (RDF): RDF is a family of World Wide Web Consortium (W3C) specifications originally designed as a metadata data model. It has come to be used as a general method for conceptual description or modeling of information that is implemented in web resources, using a variety of syntax notations and data serialization formats. It is also used in knowledge management applications. It is based upon the idea of making statements about resources (web resources in particular).
- PHP: PHP is a server-side scripting language designed for web development but also used as a general-purpose programming language. PHP code may be embedded into HTML code, or it can be used in combination with various web template systems, web content management systems and web frameworks. PHP code is usually processed by a PHP interpreter implemented as a module in the web server or as a Common Gateway Interface (CGI) executable.
- SPARQL: It is an RDF query language, that is, a semantic query language for databases, able to retrieve and manipulate data stored in Resource Description Framework (RDF) format.
- Web Ontology Language (OWL): It is a family of knowledge representation languages for authoring ontologies. Ontologies are a formal way to describe taxonomies and classification networks, essentially defining the structure of knowledge for various domains. OWL is expressed in RDF syntax.
- Rule Interchange Format (RIF): The Rule Interchange Format is a part of the infrastructure for the semantic web, along with SPARQL, RDF and OWL. Although originally envisioned by many as a “rules layer” for the semantic web, in reality the design of RIF is based on the observation that there are many “rules languages” in existence, and what is needed is to exchange rules between them.
- Structured Query Language (SQL): SQL is a special-purpose programming language designed for managing data held in a relational database management system (RDBMS), or for stream processing in a relational data stream management system (RDSMS). The most common operation in SQL, the query, makes use of the declarative SELECT statement. SELECT retrieves data from one or more tables, or expressions. Queries allow the user to describe desired data, leaving the database management system (DBMS) to carry out planning, optimizing, and performing the physical operations necessary to produce that result as it chooses.
- Database Management System (DBMS): It is a computer software application that interacts with the user, other applications, and the database itself to capture and analyze data. A general-purpose DBMS is designed to allow the definition, creation, querying, update, and administration of databases. Well-known DBMSs include MySQL, PostgreSQL, Microsoft SQL Server, Oracle, Sybase, SAP HANA, and IBM DB2.
So, here are twenty, building blocks that are being used to deploy services and applications in education. Of course, there are lots of other components out there, like programming languages such as Python, or web application frameworks like Ruby on Rails that can be included in the list. For the time being though, I will keep the list limited to 20 items, and will try to add all the other parts in the concept map I am building in a future post. Albeit some of them maybe outdated in comparison to the cutting-edge technologies of Web 2.0, these are pretty much all the things you will find out there. So, as I said before, the challenge for me now, is to create a coherent concept map and story that will involve all (or most) of the above, so that it becomes clear to anyone wanting to know, how each thing fits into the larger picture.