Report on first prototype of Building Block Repository · 2.2 AT Specific I/O Modules ... Easy...
Transcript of Report on first prototype of Building Block Repository · 2.2 AT Specific I/O Modules ... Easy...
Ecosystem infrastructure for smart and personalised inclusion
and PROSPERITY for ALL stakeholders
Report on first prototype of
Building Block Repository (1st iteration)
Project Acronym Prosperity4All
Grant Agreement number FP7-610510
Deliverable number D202.2-1
Work package number WP202
Work package title Building Blocks
Authors Till Riedel, Lukas Smirek, Chris Veigl,
Martin Deinhofer, Konstantinos Votis,
Nikolaos Kaklanis, Aggeliki Konstadinidou,
Dimitrios Tzovaras, Charalampos
Karagianidis, Anastasia Cheetham
Status Final Dissemination Level Public
Delivery Date 16/03/2016
Number of Pages 55
D202.2 Report on first prototype of Building Block Repository – 1st iteration (Public)
www.prosperity4all.eu 2
Abstract
Two years have passed in which components have been isolated, documented and gathered
within the GPII Developer Space Component Listing. This software deliverable comprises the
first release of this Software that is available on http://dspace.teco.edu. The current
document is a snapshot of building blocks that have been provided to bootstrap the effort as
part of the EU funded Prosperity4ALL project. While the online version should be self-
explanatory and much of the documentation found in this report actually replicates this
information (as of January 2016), this report furthermore explains the research and
development objectives behind building this software prototype as well as how resources
have been used to advance the state of the art.
Keyword List
Repository, Listing, Building Blocks, Developers, Components, Developer Space, Accessibility
D202.2 Report on first prototype of Building Block Repository – 1st iteration (Public)
www.prosperity4all.eu 3
Version History
Revision Date Author Organisation Description
1 07/12/2016 Till Riedel KIT 1st version including TOC.
2 07/01/2016 Till Riedel, Lukas
Smirek, Chris Veigl,
Martin Deinhofer,
Konstantinos Votis,
Nikolaos Kaklanis,
Aggeliki
Konstadinidou,
Dimitrios Tzovaras,
Charalampos
Karagianidis,
Anastasia Cheetham
CERTH,FHTW,HDM,ID
RC,KIT
Input via the DSpace Prototype
3 14/01/2016 Till Riedel, Lukas
Smirek, Chris Veigl,
Martin Deinhofer,
Konstantinos Votis,
Nikolaos Kaklanis,
Aggeliki
Konstadinidou,
Dimitrios Tzovaras,
Charalampos
Karagianidis,
Anastasia Cheetham
CERTH,FHTW,HDM,ID
RC,KIT
Additional Input on Work done as
part of P4A
4 14/02/2016 Till Riedel KIT Integrated DSpace Screenshots
and eval feedback
5 26/02/2016 Lukas Smirek HDM Additional Input URC Docs
&Guidelines
6 26/02/2016 Till Riedel KIT Updated Content from online
description, including
categorization and Images.
Formatted correctly
7 29/02/2016 Till Riedel KIT Added text describing interaction
with SP1 and SP4. Added
conclusion
8 04/03/2016 Stefan Schürz, Alfred
Doppler
LFTL Internal Review, Typo fixes
9 15/03/2016 Andreas Stiegler HDM Internal Review
10 15/03/206 Till Riedel KIT Edits according to review
D202.2 Report on first prototype of Building Block Repository – 1st iteration (Public)
www.prosperity4all.eu 4
Table of Contents
Executive Summary .......................................................................................................... 7
Glossary............................................................................................................................ 8
1 The Role of the Building Block Repository ..............................................................10
1.1 Purpose and structure of this document .................................................................. 11
1.2 Purpose of Building Blocks in the GPII Developer Space ........................................... 13
1.3 Repository Creation and Management Strategies .................................................... 16
1.3.1 Service Design, Use Cases and Personas ............................................................ 17
1.3.2 Categorization and Structuring in a Prototype .................................................. 19
2 Content type examples ..........................................................................................25
2.1 External Building Blocks and online collection (FHTW) ............................................. 25
2.2 AT Specific I/O Modules (P4A T202.2) ....................................................................... 28
2.2.1 AsTeRICS AT Modules (FHTW) ........................................................................... 29
AsTeRICS Packaging Environment (APE) ...................................................................... 29
Managing Licenses of the AsTeRICS Building Blocks .................................................... 30
2.2.2 Websocket Interface for AsTeRICS Building Blocks (FHTW) .............................. 31
2.3 Generic Multimodal Interaction Modules (P4A T202.3) ........................................... 31
2.3.1 Arduino UNO: Microcontroller Interface (I/O Transducer Modules) (FHTW) ... 31
2.3.2 Universal HID Actuator: Mouse/Keyboard/Joystick Emulation (FHTW) ............ 31
2.3.3 Camera Input Module: FacetrackerLK, XFacetrackerLK: (FHTW)....................... 31
2.3.4 P4A Haptic Module (CERTH) ............................................................................... 47
2.3.5 P4A Android Vibration Module (CERTH) ............................................................ 47
2.4 Smart Device and Environment Modules (P4A T202.4) ............................................ 47
2.4.1 EnOcean: Smart Home Integration (FHTW) ....................................................... 37
2.4.2 KNX: Smart Home Integration (FHTW) ............................................................... 38
2.4.3 Point and Control: Spatial Interaction for Remote Control (KIT) ....................... 47
2.4.4 IndianaJS: Spatially aware Web of Things (KIT).................................................. 47
2.4.5 Context-WiFi Login (KIT) ..................................................................................... 47
2.5 Real-Time User Monitoring Modules (P4A T202.5) .................................................. 47
D202.2 Report on first prototype of Building Block Repository – 1st iteration (Public)
www.prosperity4all.eu 5
2.5.1 P4A SensorAPI (KIT) ............................................................................................ 47
2.5.2 FallDetectionModule (CERTH) ............................................................................ 47
2.5.3 P4ALL Affect Sensing Module (CERTH)............................................................... 47
2.5.4 Social Network Interaction Module (CERTH) ..................................................... 47
2.5.5 jActivity (KIT) ...................................................................................................... 47
2.5.6 Open BCI: Bioelectric Signal Acquisition and Processing (FHTW) ...................... 47
3 Templates, Tutorials, Handbooks and Documentation ...........................................48
3.1 Universal Remote Console documentation and templates (HDM) ........................... 48
3.1.1 Socket Templates ............................................................................................... 48
Woehlke web electricitysocket Template 1.0 .............................................................. 48
Plant Sensor Templates 1.0 .......................................................................................... 49
NetAtmo Templates 1.0 ............................................................................................... 49
Coloured light bulb Templates 1.0 ............................................................................... 49
DVD Player Templates 1.0 ............................................................................................ 49
TV set 1.0 ...................................................................................................................... 49
Twitter Templates 1.0 .................................................................................................. 50
UPNP-av Templates 1.0 ................................................................................................ 50
XBMC Templates 1.0 .................................................................................................... 50
3.1.2 Target adapter framework ................................................................................. 50
Easy target discovery manager .................................................................................... 51
Wöhlke target adapter ................................................................................................. 51
Time service Target adapter......................................................................................... 52
3.1.3 Tutorials and guidelines ..................................................................................... 52
Tutorial: Getting started with URC ............................................................................... 52
Tutorial: Creating Sockets with the SocketBuilder ....................................................... 52
Design Guidelines for User Interface Sockets .............................................................. 53
Making a business case with URC ................................................................................ 53
Frequently Asked Questions ........................................................................................ 53
3.2 Web Development Resources (IDRC) ........................................................................ 53
D202.2 Report on first prototype of Building Block Repository – 1st iteration (Public)
www.prosperity4all.eu 6
User Interface Options Tutorial .................................................................................... 53
Infusion Preferences Framework Tutorial ................................................................... 53
First Discovery Tool Tutorial ......................................................................................... 53
Accessible Standardized Testing Guide ........................................................................ 53
Inclusive EPUB 3 Guide ................................................................................................. 54
Accessible Web Games and Interactive Simulations ................................................... 54
4 Conclusion and Future Work ..................................................................................55
D202.2 Report on first prototype of Building Block Repository – 1st iteration (Public)
www.prosperity4all.eu 7
Executive Summary
With this deliverable we reached an important milestone regarding the components
provided within WP202 of the Prosperity4All project (aka Building Blocks). The searchable
and browsable Building Block Repository enables important interactions within the overall
ecosystem. It enables implementers to find suitable re-usable components in the domain of
assistive technology and accessible IT. The Building Block Repository presented in this
document is a community curated listing of code artefacts that are developed and
maintained in a strictly distributed fashion. It contains any contributions of components
made by the Prosperty4All project to the GPII Developer Space community, but will include
also any external component that can support the effort.
As this document is an accompanying report to a software deliverable, we encourage the
reader to follow the links to the online version for up to date information. The GPII
Developer Space prototype includes many more Building Blocks than those that are listed
here. We primarily included items in this document that were part of active development
within the first 2 years of the project span. Many of the Building Blocks have a history and
scope beyond the project but were refined and made available with the scope of specific
objectives of Prosperity4All. The three parts of the document describe the creation of a
prototype repository in the scope of the overall effort to create the GPII Developer Space,
describes the components as well as documentation contained currently in the prototype.
The online prototype that is currently reachable via dspace.teco.edu provides an alternative
way to explore the contents of this deliverable. To summarize: this deliverable documents a
snapshot of the ongoing work that was done as part of the Prosperity4All project for the
purpose of reviewing the past 2 years of project work within work package WP202. This
documents milestone for the project that finalizes an important phase, however, work will
continue within and beyond the project in an iterative, agile and dynamic fashion.
D202.2 Report on first prototype of Building Block Repository – 1st iteration (Public)
www.prosperity4all.eu 8
Glossary
Term Definition
Global Public Inclusive
Infrastructure (GPII)
Collaboratively created infrastructure that ensures that
everyone who faces accessibility barriers can access and use
information technologies.
Prosperity4All (P4A) Project funded under Contract Number 610510 within the
European Union's 7th Research and Innovation funding
programme (FP7). P4A builds important parts of the GPII.
GPII Developer Space An ecosystem enabling set of services within the GPII that
provide ease access to a comprehensive set of resources, tools,
and open community infrastructure to help implementer find
and use components and frameworks that have been built
with personalized accessibility in mind.
Implementer Stakeholders of the GPII Developer Space providing
applications, tools and services to end users adapted to their
needs (term used to distinguish from developers who provide
e.g. building blocks)
Building Block A term to describe reusable hardware and software
components addressed towards implementers
Stakeholder A person, group or organization that are directly or indirectly
involved or affected by a service.
Actor Any person involved in the creation, delivery, support, or use
of a service. In case of the GPII Developer Space those are
mostly developers of components, authors of other content
and implementers.
Need A necessary and/or desired function or condition.
Entry Point Instances of access to a service, where actors are able to join
the service as customers, providers or stakeholders. The GPII
Developer Space front page, but also the listing of a single
Building Block can be such entry points.
Journey Map A visual representation of a particular actors’ experience with a
service.
D202.2 Report on first prototype of Building Block Repository – 1st iteration (Public)
www.prosperity4all.eu 9
Term Definition
Persona A representation of a user group with shared needs and
characteristics. Personas are the distillation of primary
research with people. A persona would be given a name and
characteristics as well as needs.
Assistive Technology (AT) Any product, whether off the shelf, modified, or customized,
that is used to increase, maintain, or improve the functional
capabilities of someone with disabilities (also temporal).
Accessible Accessible to people with a diverse range of hearing,
movement, sight, and cognitive ability.
Information technology (IT) Use of any computer aided devices, infrastructure and
processes to create, process, store, secure and exchange all
forms of electronic data.
Human Interface Device(HID) A computer device that interacts directly with humans (e.g. a
joystick, keyboard or mouse)
Application Programming
Interface (API)
Set of routines, protocols, and tools for building software
provided by a Building Block.
D202.2 Report on first prototype of Building Block Repository – 1st iteration (Public)
www.prosperity4all.eu 10
1 The Role of the Building Block Repository
The Building Block Repository (that you will also find as “Parts&Tools” pictured in Figure 1
within the related Web Version) is part of a global effort to build a Developer Space within
the Global Public Inclusion Infrastructure (GPII). The items described in this report can thus
be seen in a much broader scope as explained below (see 2.3). The Building Block Repository
is not actually repository, but rather a community curated listing of code artefacts that are
developed and maintained in a strictly distributed fashion. It contains any contributions of
components made by the Prosperty4All project to the GPII Developer Space community, but
will include also any external component that can support the effort.
Figure 1: Snapshot of the current front page build within Prosperity4All
The purpose of contributing Building Blocks as part of the funded effort of the project is to
bootstrap an ecosystem that provides developers with “Libraries, Software & Hardware
Modules as well Code Snippets that will help you build accessible and personalized
technology”.
It is not only the single component that should “make it easier, faster and less expensive to
conceive [and] create” any inclusive implementation, but the collection as whole. It is clear
that any Building Block Repository can hardly ever be complete. This deliverable, however,
adds and documents a considerable amount of new possibilities to the space of assistive
technology (AT) and accessible information technology (IT). Much of the work was started
before Prosperity4All but was made available for the first time under permissive open
source licenses and in a reusable manner as part of this deliverable. Furthermore, existing
D202.2 Report on first prototype of Building Block Repository – 1st iteration (Public)
www.prosperity4all.eu 11
components developed outside the project were systematically categorized in a community
effort.
With our contributions (both those we built and those which we found), we want to build a
bridge to other advanced research topics in the areas of AT Interfaces, Multimodal
Interaction, Cognitive Systems and Smart Spaces, Personalized Health and Active Aging,
Sensing Enterprises and Connected Social Media.
With the integration of the Building Block Repository into the “GPII Developer Space”, a
developer targeted service infrastructure that is part of the overall Prosperity4All ecosystem,
we provide concrete entry points (the search as well as the individual Building Blocks) for
those who seek to integrate innovations and bring them to use in the context of smart and
personalized inclusion. Not claiming completeness by any means, we want to provide
application programming interfaces and aim to stimulate the development of new intelligent
modules by researchers, students, and others to rethink novel interaction and context-
sensing techniques from the perspective of users with various kinds of permanent or
temporary disabilities.
1.1 Purpose and structure of this document
As this document is an accompanying report to a software deliverable, we encourage the
reader to follow the links to the online version for up to date information. The software
presented here was developed or improved as part of the BUILDING BLOCKS work package
of the Prosperity4ALL FP7 EU Project. The GPII Developer Space prototype includes many
more Building Blocks than those that are listed here. We primarily included items in this
document that were part of active development within the first 2 years of the project span.
Many of the Building Blocks have a history and scope beyond the project but were refined
and made available with the scope of specific objectives of Prosperity4All (according the
description of work):
To collect and create an extensive repository of alternative input, output and
processing modules, components and adapters to facilitate development of assistive
technologies and accessible interfaces.
To integrate existing assistive solutions from previous projects such as AsTeRICS and
extract useful sensors, processors and actuators from it to a more general API. To
integrate Human Interface Device (HID) emulators into Prosperity4All and unify them
under a unified API.
To collect, extend, integrate, and make production-ready a collection of web user
interface components and web framework infrastructure that will reduce the cost
and complexity of building accessible web applications and web-based assistive
technology
To foster a community of contributors, maintainers, and sustainers of these
components, ensuring they will be viable over the long term.
D202.2 Report on first prototype of Building Block Repository – 1st iteration (Public)
www.prosperity4all.eu 12
This document describes the common open repository of state of the art AT interface
modules globally and the concrete work of the development teams within it that provide AT
interface module developers the capabilities to excel beyond state of the art by providing
access to novel technologies.
This report includes all developments within WP202 with some exceptions.
Work that is dependent on new Frameworks and Tools that were not available after
the first year of the project as (e.g as part of WP203 or WP204) will follow in a further
iteration.
Work on common APIs that is running in parallel to other development activities is
ongoing and is only partially included in the current state of the Building Blocks. This
is mostly also due to interactions with Frameworks (e.g. the integration with the
Asterics REST API with the SensorAPI or refinement of WebComponent and
Messaging APIs that are compatible with the architectural Integration domains, P4A
Nexus / MyUI design patterns)
It will be the purpose of our second milestone and the accompanying document to
particularly fulfill the remaining objectives:
To ease integration of novel heterogeneous sensor sources into AT based on state of
the art algorithms
To enable smart and proactive adaptation of AT by sensing its usage context in terms
of the users current state and the environment
To show-case possibilities for adaption techniques based on real world interactions
of IT-based AT
This Section describes design considerations and the relation to this work towards other
parts of the project Section 3 is structured according to the description of Prosperity4All.
Separate boxes highlight work done as part of the project is highlighted. Further content was
taken from the current snapshot of the online documentation of the delivered software
prototype as of January 2016. Section 4 describes further non-software resources delivered
such as handbooks and templates and tutorials in more detail.
The online prototype that is currently reachable via dspace.teco.edu provides an alternative
way to explore the content this deliverable. To summarize: this deliverable documents a
snapshot of the ongoing work that was done as part of the Prosperity4All project for the
purpose of reviewing the past 2 years of project work within work package WP202. This
documents milestone for the project that finalizes an important phase, however, work will
continue within and beyond the project in an iterative, agile and dynamic fashion.
D202.2 Report on first prototype of Building Block Repository – 1st iteration (Public)
www.prosperity4all.eu 13
1.2 Purpose of Building Blocks in the GPII Developer Space
Although is not the objective of this document to reflect on the overall GPII Developer Space
architecture (this is outlined as part of deliverable D201.3) and its role in the ecosystem (this
is outlined as part of D201.1), it is important to understand this work within the scope of the
overall effort to create a GPII Developer Space within Prosperity4All.
Figure 2: How and for what implementers (source: D402.2)
From the perspective of Building Block developers, the developer space is a means of
interacting with potential implementers.
Up to this date only few and rather isolated space exist for implementers to explore
components to build AT and accessible IT. This is reflected in the result of the first survey’s
with implementers (see Figure 2), that personal contact with colleagues (or project partners)
or general search are the most common strategies for exploring the solution space. And our
preliminary studies suggest that they mostly are looking for concrete code rather than
detailed documentation. Also background interviews conducted by the SP4 team show there
is scales only in very limited way today, and implementers feel great need for a community
space that particularly focusses on giving them access to new building blocks (currently more
and more external implementers are interviewed to support this).
At the same time developers complain about slow adoption and few possibilities to connect
to potential users with a reasonable effort. This is particularly important as there is often no
direct incentive to commercially market: suitable Building Blocks are often living in a
research and/or open source domain. Initial input from the evaluation team suggests that
motivation is seldom monetary but often the interaction with other developers.
D202.2 Report on first prototype of Building Block Repository – 1st iteration (Public)
www.prosperity4all.eu 14
Figure 3: Motivation to contribute to a developer space (source: D402.2)
Figure 4: Building Blocks within the context of the project (seen on the upper left)
From the graphical project representation in Figure 4 (that also models parts of an
ecosystem) it becomes clear that in contrast to implementations by the solution developers,
the building blocks are addressed towards AT implementers as important part of the
ecosystem. As the project tries to bootstrap the ecosystem, it is important that building
blocks would reach a milestone in terms of quantity and quality early in the project. The
D202.2 Report on first prototype of Building Block Repository – 1st iteration (Public)
www.prosperity4all.eu 15
collection presented here will be the basis of interaction with implementers and we hope to
make relevant links through the developer space. One important milestone was reached as
the current developer space web prototype that includes all the building blocks reported on
here was tested with developers and potential implementers. Starting with this first internal
beta release the Building Block Repository will become the primary way to share artifacts
from WP202 with the rest of the P4A ecosystem.
They also interact particularly with Development Tools (WP203) and need to integrate with
an overall Infrastructure Architecture (WP201). This part will be the focus of the last part of
the work that will be reported in the next iteration.
D202.2 Report on first prototype of Building Block Repository – 1st iteration (Public)
www.prosperity4all.eu 16
1.3 Repository Creation and Management Strategies
One of the main challenges of the work on building blocks was the bootstrapping of a
bottom up movement for sustainable contribution. In order to emulate “the real world” as
best as we could, it was important follow the non-prescriptive path of inclusive design that is
outlined as part of the SP1 work. With many developers contributing very different pieces
from real projects and implementers sometimes waiting for someone to tell them what to
use, it was often difficult not to choose the easy (yet not sustainable) path of top down
matchmaking within the project. Instead, we started early to document the diversity of
possibilities that were offered to implementers, e.g. through the wiki (see Figure 5).
In order to analyze good categorization structures we looked at number of “marketplaces”
and repositories, including git hub, the google play store and stackoverflow, but also
hardware listings like octopart (evaluation in SP4 also compared user preferences towards
different listing styles). We also looked at particularly the added value of an accessibility
focused repository. Another concern was that we did not want to replace other repositories
and that “our” Building Blocks should “live" outside of our prototype as a precondition to
sustainable open source development.
Figure 5: Start of the repository in the wiki until mid-2015
It became soon obvious that if the project should succeed on the premises of voluntary
adoption, we would have to do much more to support the searching process of
implementers and incentivize them to try out the offering that were laid out to them.
D202.2 Report on first prototype of Building Block Repository – 1st iteration (Public)
www.prosperity4all.eu 17
Figure 6: Testimonial of early success with repository building... (Source:
http://lists.gpii.net/pipermail/dspace/)
1.3.1 Service Design, Use Cases and Personas
When we started with the task, it was one of our first activities to try to create a better
understanding of our stakeholders and the interactions we wanted to support with our
service. We started off with small focus groups and persona building activities inside the
work package and building first functional mockups of a repository within the first year. At
the same time the first background interviews were conducted by the evaluation (SP4) team
with implementers (SP3) and the developers (SP2) listing their planned contribution and
their own expectations. The results werewere shared via the public project wiki
(wiki.gpii.net) and an open discussion started. While working on a better fit between
components and user needs, we experimented with different documentation strategies via
the project wiki and soon found first success reaching our implementers (see Figure 6).
Driven by the early success we created our first prototypes of a Building Block Repository
(see Figure 7). However, it soon became clear that sustainability and scalability of our
approach became an issue and would be important to understand the role of our Building
Block repository as an entry point to a whole Prosperity4All ecosystem. After the first year of
the project, we reached a point at which we understood the diversity of the contributions as
well as the expectation of implementers.
D202.2 Report on first prototype of Building Block Repository – 1st iteration (Public)
www.prosperity4all.eu 18
Figure 7: First functional prototype at the beginning of 2015
With the work of the ecosystem (SP1) team progressing, it became clear that the Building
Block repository needed to be part of orchestrated project effort to bootstrap the GPII
Developer Space (DSpace) and could not be designed without an understanding of the whole
service ecosystem. At the same time it was the only possibility to test the interactions within
the ecosystem already within the project. The journey map of a persona using the DSpace,
that helped building the current prototype, is depicted in Figure 8. Looking at it, it becomes
clear that a fully functional Building Block repository is essential for this persona.
Figure 8: Journey map describing possible interactions with the repository (source:SP1)
The general usefulness of any repository is naturally strongly dependent on the contributed
content. With more content available the usability became an increasingly important factor.
Within 2015 the process of iteratively increasing both usefulness (through more content)
and usability (by better navigation of this content) became one of the core schemes of our
collaborative work that were channeled into a unified to design of the GPII Developer Space.
D202.2 Report on first prototype of Building Block Repository – 1st iteration (Public)
www.prosperity4all.eu 19
Much of our experience with collecting components as part of the Wiki and communicating
with implementers inside the project are present in this design.
Figure 9: Design Sketch of the Developer Space
1.3.2 Categorization and Structuring in a Prototype
One of the main challenges when moving from service and interaction design ideas towards
a tangible prototype was an understanding about the search strategies of the users. The
evaluation team (SP4) helped considerably by formatively testing our ideas and prototypes
at an early stage. While personas were very helpful in the design phase to consider particular
edge cases as well as to generate hypotheses about “typical” users, we external feedback on
concrete designs was needed. With the milestone of creating a first internally usable version
the Building Block repository as described in this document, we are for the first time able to
watch implementers interacting with the offering we are making and ask them for concrete
feedback. Figure 10 shows that the importance of search seems to be at least reflected in
the use of the GPII Developer Space prototype by our project-internal implementers (we
tried to equally support both search and exploration at any stage)
D202.2 Report on first prototype of Building Block Repository – 1st iteration (Public)
www.prosperity4all.eu 20
Figure 10: Exploration strategies of users in the latest Developer Space user study.
While building the prototype we had to rely on assumptions and early research on the
concrete prototype. Supporting effective search and exploration, the organization and
categorization became an important issue.
One cornerstone was existing efforts and experiences by partners. For example we took
inspiration from the Raising the Floor Solutions Masterlist as we found out that classical
categorization schemes given e.g. by common standards were not fit for the users we had in
mind building the Developer Space.
While providing solutions in terms of specific needs was clearly a given criterion for
categorization, we looked at many other functional development sites and research on
adoption of open source software by developers and decision makers to understand better
useful criteria for our prototype. In the end we decided to rely on our concrete target group
when building the prototype, as they are our first users, without whom bootstrapping such
an effort that includes a strong community will not be possible.
Figure 11: Important factors when selecting Building Blocks (source: D402.2)
D202.2 Report on first prototype of Building Block Repository – 1st iteration (Public)
www.prosperity4all.eu 21
Both the searchable prototype and the documented content delivered within this work
particularly consider the output by surveys and formative evaluations on wireframes
conducted by the eval team during the last year (see Figure 11). E.g. the faceted search
mechanism allows direct filtering by License (see Figure 12)
Figure 12: Search facets of the prototype
An important factor for the Developer Space will be that users (i.e. implementers) find useful
tools and that developers can offer their tools in a fashion that they are found specifically by
stakeholders in the accessibility domain. Therefore it is wise to look particularly at
categorization schemes. While this might be not so important for mainstream software
developers looking for concrete functionality, many non-classical developer types we want
to address, like AT product developers, healthcare professionals or relatives have a domain
specific view. Furthermore procurement might be a driving factor for accessibility
improvements and the need for adoption of components, so that alignment with existing
schemes might prove as an opportunity in some cases.
The final editing interface of the Building Block repository that we have built on top of
Drupal 7 is shown in Figure 13. It provides an easy to use web interface that allows
developers to add content. The categorization is done via a tagging interface whose
categories were derived from our research with users and whose terms were bootstrapped
from existing sources like the solution master list or other sites. Following an inclusive
approach the tagging interface, however, allows the user to specify new categories, if
needed. It will be one challenge to curate and merge those categories in the future,
D202.2 Report on first prototype of Building Block Repository – 1st iteration (Public)
www.prosperity4all.eu 22
however, already during the bootstrapping this method gave us good feedback e.g. on
missing dimensions (categories).
Figure 13: Editing interface for the repository
Figure 14 shows how a contributed component looks like in the listing. The categories allow
users to easily discover similar content or to filter searches (like in Figure 15) based on the
given criteria.
D202.2 Report on first prototype of Building Block Repository – 1st iteration (Public)
www.prosperity4all.eu 23
Figure 14: Example Listing
Important elements of the current listing structure are:
Quick access to examples (Getting started)
Quick access to further documentation (Read more)
A short overview description with an image
Filtering/Comparison based on relevant categories for implementers
Contact information
Access to up to date code
Commenting features (currently disabled until moderation possible)
Ability to add external video or demo content
Use of crowd-source tagging with a fixed initial shallow category (tag type) structure
and initial tags
Important additional features to enable the use cases in SP1 (not yet available) will be added
through the Quality Infrastructure, the overall gamification elements and the linking with
other parts of the GPII Developer Space.
D202.2 Report on first prototype of Building Block Repository – 1st iteration (Public)
www.prosperity4all.eu 24
Figure 15: Search results with faceted browsing capabilities
D202.2 Report on first prototype of Building Block Repository – 1st iteration (Public)
www.prosperity4all.eu 25
2 List of contributed Building Blocks by Task
In this chapter we report the list of different Building Blocks that are contained in the
repository. The structuring does not follow the categories that we used in the online
prototype, but reflects initial structure that we used in the Description of Work for the
funded Prosperity4All project. The subsections refer to the task number within the
Workpackage 202 (e.g. section 2.4 refers to Task 202.4). While large parts are available
online we added dedicated information that shows the progress made within the project.
This information is shown as boxes in section 2.2 onwards. Before we start explaining the
different components, section 2.1 (Task 202.1) particularly also covers the collection of
(project) external Building Blocks by either partners of Prosperity4All or external developers
that are part of a growing open source collection.
2.1 External Building Blocks and online collection (FHTW)
One important task of the WP202 activities is to conduct an extensive research on already
available open source modules, libraries and components by 3rd party developers. The
description of these external building blocks and their integration into the first version of the
Developer Space Repository helps to establish a comprehensive collection of AT-related
resources for developers, in addition to the building blocks which are contributed by P4All
consortium members in SP2/WP202. In subsequent improvements of the Developer Space
Repository infrastructure, database federation and the automated integration of external
sources will be supported so that further (manual) addition of external Building Blocks will
become less important.
By the time of project month 22, a first set of external building blocks has been collected
(mainly by FHTW and KIT) and added to the D-Space repository prototype. These modules
contain 3rd-party libraries, coding demos, hardware designs, and build instructions as well as
stand-alone software tools for applications in various fields of accessible design and assistive
technology. For the stand-alone tools it will be decided at a later stage of the
implementations if those tools should be classified as “products” and moved to the Unified
Listing repository.
D202.2 Report on first prototype of Building Block Repository – 1st iteration (Public)
www.prosperity4all.eu 26
The following tables gives a short overview on some of the collected resources and building
blocks:
Table 1 External Building Blocks for Input/Output and special interfaces
Resource / ext. Building Block
Description Link
Input Stick Android- and iOS compatible USB receiver supports
wireless keyboard, mouse, game controller HID emulation http://inputstick.com/index.php/en/
MaKey
Makey physical computing, alternative input devices http://makeymakey.com/
SmartGattLib Bluetooth LE Java library that simplifies the work with
Bluetooth SMART https://github.com/movisens/SmartGattLib
V-USB SW-defined USB, many applications for alternative HID input devices
https://www.obdev.at/products/vusb/prjhid.html
Table 2 External Computer Vision Building Blocks
Resource / ext.
Building Block Description Link
EyeWriter open source gaze tracking HW/SW http://eyewriter.org/developer/
Headtrackr Javascript library for real-time face tracking and head
tracking https://github.com/auduno/headtrackr/
tracking.js Computer vision algorithms for web applications in
Html5/javascript http://trackingjs.com/
Table 3 External Blindness/ low vision / speech creation Building Blocks
Resource / ext.
Building Block Description Link
DAISY pipeline digital content migration to various formats; production and distribution of DAISY Digital Talking Books
http://www.daisy.org/pipeline2/overview
D202.2 Report on first prototype of Building Block Repository – 1st iteration (Public)
www.prosperity4all.eu 27
Describler accessible and reusable SVG
images https://github.com/shepazu/describlerhttps://github.com/shepazu/describler
ESpeak
Speech Synthesizer http://espeak.sourceforge.net/
LibLois Open-source braille
translator, back-translator
and formatter
http://liblouis.org/
Speak.js Speech Synthesizer javascript
library https://github.com/kripken/speak.js
SVG Sonifier Sonification of SVG charts
and graphs via Web Audio
and Speech APIs
http://schepers.cc/invisible-visualization
Table 4 JavaScript / HTML5 / Web related external Building Blocks
Resource / ext.
Building Block Description Link
AFB Accessible, embedded video player with HTML5
controls
http://www.afb.org/info/programs-and-services/technology-evaluation/creating-accessible-websites/download-afbs-accessible-html5-video-player/1235
User Interface
Options
component allows users to transform the presentation
of the user interface and content resources so that
they are personalized to the individual user's needs
https://github.com/fluid-project/infusionhttps://github.com/fluid-project/infusion
Infusion Table
of Contents
component
component examines a page for HTML heading
elements, and generates and formats a list of links to
headings that can be used to navigate the page.
https://github.com/fluid-project/infusionhttps://github.com/fluid-project/infusion
Infusion Text-
to-Speech
component
javascript wrapper around the SpeechSynthesis
Interface from the Web Speech API. Web Speech API.
https://github.com/fluid-
project/infusionhttps://github.com/fluid-
project/infusion
First Discovery
Tool
Preferences Editor designed to be an entry point for
users who are new to customizing a user interface to
match their own needs and preference
https://github.com/GPII/first-discovery
D202.2 Report on first prototype of Building Block Repository – 1st iteration (Public)
www.prosperity4all.eu 28
Table 5: External remote control Building Blocks
Resource /
ext. Building
Block
Description Link
jQuery URC uses jQuery to simplify the access to
the official URC webclient library.
http://sourceforge.net/projects/traceurcsdk/files/Webclient-Generic-Client/3.1/http://sourceforge.net/projects/traceurcsdk/files/Webclient-Generic-Client/3.1/
JavaScript
URC
binding to UCH-provided sockets,
based on the URC-HTTP 2.0
specification
http://www.openurc.org/tools/friedolinfoerder-jquery.urc.js-1.0beta/jquery.urc.js
Table 6 Other external Building Blocks
Resource / ext.
Building Block Description Link
AutoHotkey scripting language for OS automation https://autohotkey.com/
AMCharts Accessibility enhancements for a very versatile chart library http://paypal.github.io/amcharts-accessibility-plugin
Bootstrap extension for the Bootstrap 3 web development framework,
adds keyboard and screen reader support http://paypal.github.io/bootstrap-accessibility-plugin/
Docverter Service Convert documents written in HTML, Markdown, or LaTeX to PDF, Docx, RTF or ePub via HTTP API
http://www.docverter.com
Readium JS library for EPUB3 publications http://readium.github.io/index.html
2.2 AT Specific I/O Modules (P4A T202.2)
In Task 202.2, specific hardware and software modules by P4ll partners are refined (or newly
created) and integrated into the P4All infrastructure. In particular, these modules enable
special input- and output capabilities for building alternative Human-Computer Interface
(HCI) solutions and accessible interaction strategies for novel (or existing) products, including
microcontroller-based input (measuring sensors, processing switch input), output
(controlling external actuators) or camera-based input solutions (computer vision algorithms
for face tracking or feature extraction from live camera images). The following sections give
an overview on the state of these components:
D202.2 Report on first prototype of Building Block Repository – 1st iteration (Public)
www.prosperity4all.eu 29
2.2.1 AsTeRICS AT Modules (FHTW)
In course of the AsTeRICS project (FP-7 STREP, 2010-2013), a flexible system for graphical
design of Assistive Technology solutions has been developed, which includes a JAVA/OSGi-
based middleware / runtime system, a graphical editor for the design of assistive solutions
(so-called “AsTeRICS models”) and more than 150 sensing-, processing and actuator-plugins
which can be combined and parameterised using the graphical editor.
In the first year of the P4ALL project, strategies for a flexible integration of AsTeRICS-based
solutions into various application scenarios have been evaluated and implemented by
consortium member FHTW. Two AsTeRICS-based solutions were already applied in course of
SP3-implementations by consortium members LIFEtool and GuadalInfo.
Although it was initially planned to completely extract certain useful plugins from the
AsTeRICS framework in course of the WP202 tasks (respectively remove the bindings of
these plugins to the middleware and provide them as plain JAVA/C++ source code), the
discussions with the SP3-implementers revealed that it would be more useful for them to
provide a customizable, shrinked version of AsTeRICS (including the middleware) which
maintains the flexibility of the graphical design and adaptation of the solution, but
significantly reduces the needed system resources for its deployment and adds certain
communication channels to transfer live sensor data and control signals from/to the
AsTeRICS model to/from the implementer’s application. Thus, the AsTeRICS runtime
environment could run in parallel with the implementer’s application and expose additional
GUI components only if needed.
This concept was realized during project months 12-20 and turned out to be successful and
very flexible. AsTeRICS building blocks were implemented by LIFEtool (for their Windows-
based learning software “FlashWords”) and by GuadalInfo (for their Linux-based computer
terminals) to add camera-based cursor control.
To facilitate the process of building shrinked-down AsTeRICS deployments to different target
platforms which only contain the necessary plugins / building blocks and services, FHTW
developed the AsTeRICS Packaging Environment (APE) and a websocket interface for data
exchange with running AsTeRICS models, and a strategy for dealing with the various (and
often concurring) licenses involved.
AsTeRICS Packaging Environment (APE)
The AsTeRICS Packaging Environment allows the selection of a set of AsTeRICS model files
and creates a downstripped (minimum size) version of the AsTeRICS Runtime Environment
(ARE) including plugins, configuration files and data files to execute these models.
Optionally, the APE allows the creation of native installers for Windows, Linux and Mac using
JavaFX packaging technology..
D202.2 Report on first prototype of Building Block Repository – 1st iteration (Public)
www.prosperity4all.eu 30
The created packages are runtime-only versions and don't have an AsTeRICS Configuration
Suite (ACS) included. The packages are intended for developers of accessible products to
embed AsTeRICS functionality into their deployment by creating small and use-case
optimized packages for their platform of choice. If native installers are created for the
customized packages the Java Runtime Environment (JRE) is embedded and the application
is seamlessly integrated into the operating system (native launcher e.g. .exe file, icon,
shortcut, ...).
In course of the project Prosperity4All, several building blocks were created as downstripped
versions using APE. Check several example configurations here .
Managing Licenses of the AsTeRICS Building Blocks
Due to the many different plugins and their 3rd-party dependencies with dedicated licenses,
the original license of the AsTeRICS system had to be GLPv3 (because some of the plugins
contain GPL’ed code which then influences all the middleware and the whole AsTeRICS
release). In the P4All project, one requirement was to select the most permissive license for
a particular building block or use case - which makes it possible for a larger group of
implementers (including implementers of proprietary software) to use these building blocks.
In course of their P4All work, FHTW integrated a license managing feature into the APE
packaging tool. For a particular use case (for example involving 5 desired building blocks) the
APE tool collects all license information for the involved building blocks and puts their
license information into the deployment folder, so that it becomes easy for an implementer
to deduce the resulting license implications.
For all code developed in the AsTeRICS project itself (including all AsTeRICS middleware and
plugin skeletons), FHTW chose a dual-licensing approach (MIT or GPL) which allows to
license these source code modules for a particular deployment either with MIT (most
permissive) or GPL (if other GPL code is contained in the deployment). For more information
please refer to the AsTeRICS P4All Building Blocks repository:
https://github.com/asterics/P4AllBuildingBlocks/blob/master/LICENSE_dual.txt
D202.2 Report on first prototype of Building Block Repository – 1st iteration (Public)
www.prosperity4all.eu 31
2.2.2 Websocket Interface for AsTeRICS Building Blocks
(FHTW)
The websocket building block provides a generic bidirectional data interface to a running
AsTeRICS deployment, where other AsTeRICS-based building blocks perform sensing,
processing or actuation tasks. Using this interface, sensor data can be forwarded to a
browser or another application to visualize the data or trigger actions. Vice versa an
application can send data into the AsTeRICS system - for example to trigger actuators like a
home control appliance. (Read more in the GPII Developer Space)
Addr. Special Needs: General Inclusion/Assistance
Technology Type: Prototyping
License: MIT / GPLv3 (dual licensed)
Used/Supported Tech.: Java, AsTeRICS
Addr. Tech. Solution: diverse (depending on application)
Source Repository: https://github.com/asterics/P4AllBuildingBlocks/tree/master/NetworkIO/
Work done as part of the Prosperity4All project until January 2016:
The exact details of the interface are still to be defined and could be adapted to
special requirements of implementers if necessary. The websocket interface was
newly developed by FHTW in course of the P4All project.
2.3 Generic Multimodal Interaction Modules (P4A T202.3)
In course of task T202.3, several hardware and software modules have been further
developed or refined for use within the P4All ecosystem by the responsible P4All partner
organisations. These modules serve various kinds of Human-Computer Interaction tasks
and/or allow interfacing of multimodal sensor data for application in assistive applications.
Specifically, the integrated modules include microcontroller platforms for interfacing sensors
or actuators to desired computing systems, camera input modules which use computer
vision algorithms for alternative computer input and haptic/touch I/O modules for adding
haptic feedback to various user interface components.
D202.2 Report on first prototype of Building Block Repository – 1st iteration (Public)
www.prosperity4all.eu 32
2.3.1 Arduino UNO: Microcontroller Interface (I/O Transducer
Modules) (FHTW)
The Arduino component provides an interface to the
popular Arduino Uno microcontroller and makes analog inputs and
digital inputs and outputs available for desired applications. The
Arduino UNO is one of the most popular boards of the constantly
growing Arduino ecosystem. It provides 13 digital input/output pins
and 6 ADC-channels with 10 bit resolution and 3 PWM channels for
D/A conversion. (Read more in the GPII Developer Space)
Addr. Special Needs: Physical, General Inclusion/Assistance
Technology Type: Microcontrollers
License: MIT / GPLv3 (dual licensed)
Used/Supported Tech.: C, C++, Java, AsTeRICS
Addr. Tech. Solution: Interfacing of sensors / actuators, environmental control
Source Repository: https://github.com/asterics/P4AllBuildingBlocks/tree/master/Microcontroller/Ardu...
Work done as part of the Prosperity4All project until January 2016:
● The Arduino component was refined and tested according to the requirements of
the P4All project
● The license information was extracted for the packaging tool (APE)
● A demonstration deployment for implementers has been created, showing
capabilities of the Arduino building block
● The demo deployment and configuration files were added to AsTeRICS P4All github
repository: https://github.com/asterics/P4AllBuildingBlocks
2.3.2
D202.2 Report on first prototype of Building Block Repository – 1st iteration (Public)
www.prosperity4all.eu 33
2.3.3 Universal HID Actuator: Mouse/Keyboard/Joystick
Emulation (FHTW)
The Universal HID Actuator is a hardware module which emulates
Mouse, Keyboard and Joystick HID devices on a target computer. It
receives the control commands via a wireless Bluetooth link. The
HID Actuator can be used to enable mouse cursor control,
keyboard input or game console control via a personalised input
setup - no extra driver installation on the target computer is needed. (Read more in the GPII
Developer Space)
Addr. Special Needs: Physical
Technology Type: Input Emulation
License: MIT / GPLv3 (dual licensed)
Used/Supported Tech.: C, Java, AsTeRICS
Addr. Tech. Solution: Input Device Emulation
Source Repository: https://github.com/asterics/P4AllBuildingBlocks/tree/master/Microcontroller/Univ...
Work done as part of the Prosperity4All project until January 2016:
● The HID actuator hardware and firmware were updated, several bugs were found
and the stability could be improved
● Use case scenarios and test procedures were defined and executed
● The license information was extracted for the packaging tool (APE)
● A demonstration deployment for implementers has been created, showing
capabilities of the HID actuator building block
● The demo deployment and configuration files were added to AsTeRICS P4All github
repository: https://github.com/asterics/P4AllBuildingBlocks
D202.2 Report on first prototype of Building Block Repository – 1st iteration (Public)
www.prosperity4all.eu 34
2.3.4 Camera Input Module: FacetrackerLK, XFacetrackerLK:
(FHTW)
The FacetrackerLK component uses a standard webcam or
external camera and provides movement information of
facial features from a live camera video. The estimated
relative movement of a user's nose and chin are provided in
x- and y-direction.
The FacetrackerLK component builds upon OpenCV and
uses a combination of the HaarCascade and the Lukas
Kanade Optical Flow Tracking Algorithms to provide efficient and accurate tracking also on
low performance platforms. A re-calibration of the face position is initiated whenever
excessive drifting of the feature spots is detected. (Read more in the GPII Developer Space)
Addr. Special Needs: Physical
Technology Type: Computer Vision
License: MIT / GPLv3 (dual licensed)
Used/Supported Tech.: OpenCV, C++, Java, AsTeRICS, Windows
Addr. Tech. Solution: Alternative User Interface
Source Repository: https://github.com/asterics/P4AllBuildingBlocks/tree/master/CameraInput/Facetrac...
Work done as part of the Prosperity4All project until January 2016:
● The XFacetrackerLK building block was newly developed - it features cross-
platform compatibility and was used by P4All partner GuadalInfo for their
accessible Linux terminals.
● The FacetrackerLK component was refined and tested according to the
requirements of the P4All project - it was used by P4All partner LIFEtool for their
FlashWords application
● The license information for FacetrackerLK and XFacetrackerLK were extracted for
the packaging tool (APE)
● Demonstration deployments for implementers were created, showing capabilities
of the FacetrackerLK and XFacetrackerLK building blocks
● The demo deployments and configuration files were added to AsTeRICS P4All
github repository: https://github.com/asterics/P4AllBuildingBlocks
D202.2 Report on first prototype of Building Block Repository – 1st iteration (Public)
www.prosperity4all.eu 35
2.3.5 P4A Haptic Module (CERTH)
P4A WebHapticModule aims at simplifying the
whole process of adding haptic feedback to a
web application, towards improving web
content’s accessibility and also enhancing end-
users’ cognitive capabilities. It also makes web
content exploration more entertaining.
(Read more in the GPII Developer Space)
Addr. Special Needs: Vision, Low Vision, Cognitive
Technology Type: Web Technology
License: BSD
Used/Supported Tech.: C++, JNI, Java, Windows
Addr. Tech. Solution: Alternative User Interface
Source Repository: https://github.com/P4ALLcerthiti/WebHapticModule
Work done as part of the Prosperity4All project until January 2016: A first version of the module that supports adding haptic feedback in web
applications was newly developed. This first version of the module along with corresponding usage instructions have
been uploaded to GitHub: https://github.com/P4ALLcerthiti/WebHapticModule A complete example showing how the P4A WebHapticModule can be used to add
a 3D scene with haptic feedback in a preferred web page/application has been also developed and uploaded to GitHub: https://github.com/P4ALLcerthiti/WebHapticModule/tree/master/TestApp
A video presentation showing a simple use case scenario is available at: https://www.youtube.com/watch?v=pFxUimFy8Mk
A paper that presents the P4A Web Haptic Module has been already presented in CogInfoCom 2015: Kaklanis, N., Votis, K., & Tzovaras. D. (2015). Adding haptic feedback to web applications towards improving end-users’ cognitive capabilities, 6th IEEE Conference on Cognitive Infocommunications (CogInfoCom 2015), 19-21 October 2015, Győr, Hungary
2.3.6
D202.2 Report on first prototype of Building Block Repository – 1st iteration (Public)
www.prosperity4all.eu 36
2.3.7 P4A Android Vibration Module (CERTH)
P4A AndroidVibrationModule is an Android Library that offers a mechanism for easily
adding vibration feedback to Android applications. Even if it is based on the native Android
vibration framework, however, it offers greater simplicity compared to the native
framework. (Read more in the GPII Developer Space)
Addr. Special Needs: Vision, Low Vision, Cognitive
Technology Type: Android App
License: BSD
Used/Supported Tech.: Android
Addr. Tech. Solution: Alternative User Interface
Source Repository: https://github.com/P4ALLcerthiti/AndroidVibrationModule
Work done as part of the Prosperity4All project until January 2016: A first version of the P4A Android Vibration Module was newly developed. A set of predefined vibration patterns is offered. Vibration feedback is supported for a variety of events (e.g. on click, on focus
change, etc.). This first version of the module along with corresponding usage instructions have
been uploaded to GitHub: https://github.com/P4ALLcerthiti/AndroidVibrationModule A complete example showing how the P4A Android Vibration Module can be used
to add vibration feedback to various GUI components of an Android application has been also developed and uploaded to GitHub: https://github.com/P4ALLcerthiti/AndroidVibrationModule/tree/master/MyTestApp
2.4 Smart Device and Environment Modules (P4A T202.4)
Integration with smart environments offers new business opportunities for AT providers
with regard to the internet of things and ambient assisted living. Building blocks that enable
real world interaction both regarding control and discovery were developed as part of the
project. One goal is to integrate also with standards like the Universal Remote Console (URC)
technology (ISO/IEC 24752) and its technical standards for implementation (published by the
openURC Alliance). A special focus was put on the inclusive aspect of smart environments
that allow spontaneous interactions of users with that environment, i.e. the fact that
anything that can be controlled by user standing in front of a switch should be able to be
controlled by anyone at a similar position with the same ease.
D202.2 Report on first prototype of Building Block Repository – 1st iteration (Public)
www.prosperity4all.eu 37
2.4.1 EnOcean: Smart Home Integration (FHTW)
EnOcean is an energy-harvesting wireless sensor network
widely used in home- and building automation tasks. As KNX,
enOcean provides many different sensors and actuators for
smart home control and management. This component
utilizes the Priscilla java library for the EnOcean
implementation. The EnOcean plugin provides an interface to the EnOcean sensors over an
USB stick (EnOcean USB300) or an IP gateway.
(Read more in the GPII Developer Space)
Addr. Special Needs: Physical
Technology Type: Smart Homes and Building Automation
License: MIT / GPLv3 (dual licensed)
Used/Supported Tech.: Java, AsTeRICS
Addr. Tech. Solution: Accessible Buildings
Source Repository: https://github.com/asterics/P4AllBuildingBlocks/tree/master/SmartHomeIntegration...
Work done as part of the Prosperity4All project until January 2016:
● The enOcean building block was newly developed
● Test cases were defined and executed
● The license information for the enOcean building block was extracted for the
packaging tool (APE)
● A demonstration deployment for implementers was created, showing capabilities
of the enOcean building block
● The demo deployment and configuration files were added to AsTeRICS P4All github
repository: https://github.com/asterics/P4AllBuildingBlocks
D202.2 Report on first prototype of Building Block Repository – 1st iteration (Public)
www.prosperity4all.eu 38
2.4.2 KNX: Smart Home Integration (FHTW)
The KNX standard is one of the major European
standards for building automation. Many different
sensors and actuators are available from various
manufacturers including lighting control, heating,
ventilation and air conditioning, automated blends or
door actuators. (Read more in the GPII Developer Space)
Addr. Special Needs: Physical
Technology Type: Smart Homes and Building Automation
License: MIT / GPLv3 (dual licensed)
Used/Supported Tech.: Java, AsTeRICS
Addr. Tech. Solution: Accessible Buildings
Source Repository: https://github.com/asterics/P4AllBuildingBlocks/tree/master/SmartHomeIntegration...
Work done as part of the Prosperity4All project until January 2016:
● The KNX building block was updated (for using the new Calimero2.0 middleware)
and extended (to provide sensing capabilities - e.g. to read light switches)
● Test cases were defined and executed
● The license information for the KNX building block was extracted for the packaging
tool (APE)
● A demonstration deployment for implementers was created, showing capabilities
of the KNX building block
● The demo deployment and configuration files were added to AsTeRICS P4All github
repository: https://github.com/asterics/P4AllBuildingBlocks
D202.2 Report on first prototype of Building Block Repository – 1st iteration (Public)
www.prosperity4all.eu 39
2.4.3 Point and Control: Spatial Interaction for Remote
Control (KIT)
This module enables the user to place and retrieve URLs in the
environment by simple pointing gestures. This is realized with
the use of the Microsoft Kinect depth camera, which can track
multiple users in the room.
(Read more in the GPII Developer Space)
Addr. Special Needs: Literacy
Technology Type: Remote Controlling, Spatial Interaction, Physical interface
License: MIT
Used/Supported Tech.: C#, Javascript
Addr. Tech. Solution: Simplifying, Adjustable or Alternative Input Devices
Source Repository: https://github.com/teco-kit/PointAndControl
Work done as part of the Prosperity4All project until January 2016:
● Implemented and validated an interactive mechanism to specify new target
locations in the environment using the pointing approach. Prior to this, locations
had to be specified in a configuration file.
● Implemented and evaluated an alternate strategy to recognize which location a
user wants to select. This is based on machine learning instead of the strict
geometric approach using pointing rays and collision detection.
● Refactored the Android application for remote control to a modern Web-
Application to support multiple devices and operating systems. The system now
requires neither login nor downloading of any special software (only mobile web
browser needed)
● The external interfaces were updated to integrate with other remote control and
smart home solutions, e.g. URC and OpenHAB
● Improved code quality with continuous integration and testing platform
● Improved packaging and deployment of the component
D202.2 Report on first prototype of Building Block Repository – 1st iteration (Public)
www.prosperity4all.eu 40
2.4.4 IndianaJS: Spatially aware Web of Things (KIT)
IndianaJS is a spatial location and interaction library for
Web-of-Things-enabled web sites. It scrapes web sites
annotated with relative position information and transforms
locations relative to the user. E.g. makes it easy to add
screen-reader friendly dynamic directions to real-world
related content. (Read more in the GPII Developer Space)
Addr. Special Needs: Blind, Low Vision
Technology Type: Web Technology, Remote Controlling
License: MIT
Used/Supported Tech.: Javascript, HTML5
Addr. Tech. Solution: Remote User Interface, Real-Time Navigation
Source Repository: https://github.com/indianajs/indiana-js
Work done as part of the Prosperity4All project until January 2016:
New module provide a framework for very simple spatial interaction on “Web of Things”
website by providing a unified wrapper around:
Orientational sensor data (Orientation and Acceleration)
Object identification (from web site data, using schema.org definitions)
Object tracking
Event mechanisms to inform library clients that specified objects are in a certain
position relative to the user
Added IoT-Compass Demo/Tutorial to the framework
o Use D3JS to create accessible SVG elements comprising the core compass
o Adding Touch gestures (using HammerJS) (e.g. turn the lamp on/off)
o Added Haptic feedback via HTML 5 API to signal to the user if an object is in
front of him (this is useful when 'scanning' for objects in a room)
o Added and Tested ARIA/screen reader support
o Read entire compass to see the objects in the room
o Read only what is current front of you (ARIA Live)
Demoed and presented at the Internet of Things conference:
D202.2 Report on first prototype of Building Block Repository – 1st iteration (Public)
www.prosperity4all.eu 41
Andrei Miclaus, Jack Unseld, Alexandru Miclaus, Matthias Berning, Till Riedel,
Michael Beigl (2015) IndianaJS: Building Spatially Aware Web Sites for the Web of
Things, Proceedings of the 6th International Workshop on the Web of Things,
doi:10.1145/2834791.2834796
Andrei Miclaus, Matthias Berning, and Till Riedel: IndianaJS: Building spatially
aware web sites for the Web of Things, Proceedings of The 5th International
Conference on the Internet of Things (IoT 2015)
2.4.5 Context-WiFi Login (KIT)
This building block contains source code for different tag and
context based authentication schemes for open Wi-Fi access for so-
called captive portals.
It uses (polymer) web components to provide context-adaptive
login mechanisms that can be added post-hoc to many WiFi
installations where a basic level of access control is needed.
This includes access to accessible smart home installations in your home or providing access
to your company guest network without inaccessible password schemes that use paper.
(Read more in the GPII Developer Space)
Addr. Special Needs: Blind, Low Vision
Technology Type: Web Technology
License: BSD
Used/Supported Tech.: Web Components, Polymer, HTML5, Javascript
Addr. Tech. Solution: Alternative User Interface
Source Repository: https://github.com/teco-kit/UsableWi-FiAccess
Work done as part of the Prosperity4All project until January 2016:
In the building block “Context WiFi Login” the KIT developed Smart Authentication
Modules for the easy inclusion of innovative authentication functionality into webpages,
as part of T202.4 (Smart Device and Environment Interconnection Modules).
D202.2 Report on first prototype of Building Block Repository – 1st iteration (Public)
www.prosperity4all.eu 42
The work that was done is a continuation of research prior to Prosperity4All. In (Budde,
Köpke, Berning, Riedel, & Beigl, Ubicomp 2013) several novel methods for authenticating
mobile devices to a public Wi-Fi network had been presented. As part of that work, a total
of six authentication techniques were built and the code was shared with the community.
All the schemes can not only be used to log on to a Wi-Fi network, but more generally as a
method of web-based login.
In Prosperity4All, this work was continued. Even though different ways of encoding
credentials and/or using of out-of-band information for authentication have been
presented in research, the standard mode to authenticate to a guest Wi-Fi network still is
a combination of a login name and a password. This can be cumbersome on mobile
devices. Therefore, the goal was to introduce Smart Authentication Modules providing
seamless but secure access to smart environments, as providing wireless services is not
only about network quality but also about user experience and ease of access has become
an important factor. Integrating context-based access control and authentication
mechanisms into reusable web components offers easy-to-use technology that lowers the
barrier for active inclusion in today’s mobile and future cyber-physical environments.
Extending on the work before, a comparative user study was first conducted and
evaluated in order to get a better grasp of the usability of the six authentication modes.
The results have been published and presented at the “16th International Conference on
Human-Computer Interaction” in the session “Universal Access in Human-Computer
Interaction” (Budde, Riedel, Köpke, Berning, & Beigl, 2014). Subsequently, the prototypical
implementations that were used in the user study have been completely refactored and
built on state-of-the-art web technology, using the concept of so called reusable Web
Components that encapsulate both the behavior and the style of a web element that can
then be easily included and modified by developers. KIT’s new Smart Authentication
Buidling Block is built using the Polymer library.
2.5 Real-Time User Monitoring Modules (P4A T202.5)
Detecting the users need automatically is one the important prerequisite for adaptive,
inclusive interfaces. Building Blocks developed within the project allow developers to gain
more information about the current state of a user and to dynamically react to context
beyond static preference sets. Different components provide a technical basis for integration
of a diverse set of inputs beyond explicit interaction technology. The goal is the integration
with the run-time components developed in WP203 and to provide a basis for advanced
contextual user interface adaption. Current building blocks provide advanced processing
facilities employing advanced processing and cognitive system technology as a first step.
D202.2 Report on first prototype of Building Block Repository – 1st iteration (Public)
www.prosperity4all.eu 43
2.5.1 P4A SensorAPI (KIT)
The API provides web developers an easy and consistent way to handle devices with sensors
for multimodal inputs.
This framework provides unified APIs to access sensor that integrate smartphone build-in
sensors, external BT-LE Sensors (as already used for fitness tracking, health applications),
environment sensors via Wi-Fi, affect sensing sensors, virtual sensors implemented using
machine learners or e.g. model driven processing tools like Asterics in a unified way via web
interfaces (such as WebRTC, WebSockets) via a driver abstraction.
(Read more in the GPII Developer Space)
Addr. Special Needs: General Inclusion/Assistance
Technology Type: Sensor and Input Abstraction
License: Apache License 2.0
Used/Supported Tech.: Javascript, Cordova
Addr. Tech. Solution: Adjustable or Alternative Input Devices
Source Repository: https://github.com/teco-kit/p4a-sensorAPI
After different exploratory works using current Standards and APIs (like the Google
Chrome BT API), it was clear that current APIs are insufficient and too difficult to use for
Web Developers.
Within the scope of the project we developed a pluggable driver layer that can include
remote event sources (like from an Asterics model), as well as virtual sensors (see below)
in a unified fashion. The API abstracts from local and remote input sources. The API was
developed from scratch and can be used and extended by any JavaScript based
application.
D202.2 Report on first prototype of Building Block Repository – 1st iteration (Public)
www.prosperity4all.eu 44
2.5.2 FallDetectionModule (CERTH)
P4A FallDetectionModule is module that detects falls (and/or potentially other human
locomotion activities) based on the activity-related recordings of accelerometers. The core
algorithm of the module has been built upon a neuro-fuzzy approach.
(Read more in the GPII Developer Space)
Addr. Special Needs: General Inclusion/Assistance
Technology Type: Desktop
License: BSD
Used/Supported Tech.: C++, Windows
Addr. Tech. Solution: Interfacing of sensors / actuators
Source Repository: https://github.com/P4ALLcerthiti/P4ALL_FallDetection
Work done as part of the Prosperity4All project until January 2016: Implementation of a mechanism for retrieving the accelerometer’s measurements. Implementation of a multilayer perceptron (Artificial Neural Network model). Several moving patterns, containing falls and other locomotion activities, were
recorded and annotated (1-fall containing, 0-no fall containing) for training the ANN. Implementation of a real-time mechanism for fall detection. Evaluation of the algorithm.
2.5.3 P4ALL Affect Sensing Module (CERTH)
P4ALL Affect Sensing Module offers a way to detect stress of individuals based on the
features extracted by emphatical sensors. A module that enables stress detection through
the data produced by the ProComp5 Infiniti Hardware paired with the SA9309M skin
conductance sensor and the EKG™ Sensor - T9306M .
(Read more in the GPII Developer Space)
Addr. Special Needs: General Inclusion/Assistance
Technology Type: Desktop
License: BSD
Used/Supported Tech.: C++, Windows
Addr. Tech. Solution: Interfacing of sensors / actuators
Source Repository: https://github.com/P4ALLcerthiti/P4ALL-Affect-Sensing-Module
Work done as part of the Prosperity4All project until January 2016:
D202.2 Report on first prototype of Building Block Repository – 1st iteration (Public)
www.prosperity4all.eu 45
Validation of the results performed. Extraction of training data for threshold values completed. Threshold values for stress detection are to be determined.
2.5.4 Social Network Interaction Module (CERTH)
P4A SocialNetworkIteractionModule is a module that performs anomaly detection and root
cause analysis. Specifically, this procedure takes place with the use of K-partite graph.
Main features
The main features of P4A SocialNetworkIteraction include the following:
Two sets of test data: The first set is a simple example and the second set is an
example with real data from twitter where the followers and the following people
from random users are given.
Selection of parameters for k-partite graph. Default values are also given.
Level positions and the number of connections of each node are given as a result.
(Read more in the GPII Developer Space)
Work done as part of the Prosperity4All project until January 2016: Implementation of a Twitter parser Design of the storing input/output format Implementation of the k-partite based clustering algorithm Datasheet collection with users of Twitter and their Followings and Followers. Testing and preliminary evaluation the algorithm, using the Twitter’s datasheet
2.5.5 jActivity (KIT)
The module adds the possibility to classify the user activity
context during the browsing based on the acceleration of the
smart phone and leverages supervised machine learning to
create virtual sensors.
(Read more in the GPII Developer Space)
Addr. Special Needs: General Inclusion/Assistance, Vision, Cognitive
Technology Type: Activity Recognition, Virtual Sensors
License: MIT
Used/Supported Tech.: HTML5, Javascript, OpenCPU, R
Addr. Tech. Solution: Interfacing of sensors / actuators
Source Repository: https://github.com/teco-kit/jActivity/
D202.2 Report on first prototype of Building Block Repository – 1st iteration (Public)
www.prosperity4all.eu 46
Work done as part of the Prosperity4All project until January 2016:
At the begin of the project, we committed ourself to provide the actiServ system as a
building block for virtual sensors (http://dx.doi.org/10.1109/ISWC.2010.5665868). The
original implementation was based on MATLAB. The scheme allows crowd-sourcing of
virtual sensors using a client/server machine learning scheme for end-users.
Within prosperity4all we gradually created a new modular system that had a server and a
client component written in Javascript, gradually exchanging the parts for re-licensing,
while modularizing the system. The current version relies on standards and is modular and
extensible. It supports a wide range of HTML5 events, e.g. DeviceOrientation,
DeviceMotion and TouchEvent. Though it can be extended by any other HTML5 event and
the corresponding features. The current system contains three main components:
1. Database API to manage the crowd-sourced data including the specific user agent of
the device that was used to collect the data to allow a differentiation of different
users and devices.
2. An exchangable OpenCPU implementation that allows to run R code to build
classifiers based on the data available from the database.
3. A newly developed PMML to JavaScript converter that, eventually, brings the
JavaScript classifier into the web browser.
2.5.6 Open BCI: Bioelectric Signal Acquisition and Processing
(FHTW)
The Open BCI project provides open source hardware and
software for bioelectric signal acquisition systems (biosignal
amplifiers). The OpenBCI hardware consists of an 8-channel
bioelectric signal amplifier board with TI ADS1299 24 bit EEG front end, SD card slot and
Bluetooth Low Energy (BLE) wireless link. It also includes an ST LIS3DH accelerometer.
(Read more in the GPII Developer Space)
Addr. Special Needs: Physical
Technology Type: Bioelectric Signal Acquisition and Processing
License: MIT / GPLv3 (dual licensed)
Used/Supported Tech.: Java, AsTeRICS
Addr. Tech. Solution: Adjustable or Alternative Input Devices
Source Repository: https://github.com/asterics/P4AllBuildingBlocks/tree/master/BioelectricSignal/Op...
D202.2 Report on first prototype of Building Block Repository – 1st iteration (Public)
www.prosperity4all.eu 47
Work done as part of the Prosperity4All project until January 2016:
● The OpenBCI hardware was ordered, set up and tested
● The OpenBCI building block was newly developed
● Test cases were defined and executed
● The license information for the OpenBCI building block was extracted for the
packaging tool (APE)
● A demonstration deployment for implementers was created, showing capabilities
of the OpenBCI building block
● The demo deployment and configuration files were added to AsTeRICS P4All github
repository: https://github.com/asterics/P4AllBuildingBlocks
3
3
3
3
3
D202.2 Report on first prototype of Building Block Repository – 1st iteration (Public)
www.prosperity4all.eu 48
3 Templates, Tutorials, Handbooks and Documentation
Apart from providing components as part of the Building Blocks we were also committed to
provide users with better resources for existing technologies. This particularly included work
providing development resources for the Universal Remote Console as part of the work on
Smart Environments (T202.4) and on accessible Web Development (T202.6).
3.1 Universal Remote Console documentation and templates
(HDM)
The Universal Remote console (URC) is standardized in ISO/IEC 24752. The purpose of the
URC framework is to provide a user interface exchange mechanism for all kinds of electronic
device or service (also called target). The idea is that everyone can connect to any target
with the user interface fitting their needs best. In order to enable such an exchange
mechanism every target must provide an abstract description of its operational interface. In
URC terms these abstract descriptions are called User Interface Socket Descriptions (or just
sockets). Based on these descriptions user interface developers can create personalized user
interfaces and virtually plug them into the target at runtime.
3.1.1 Socket Templates
An important prerequisite for the success of sockets is that they are as stable as possible.
This should be avoided as the change of a target’s socket makes it also necessary to adjust all
related user interfaces. Hence, the OpenURC Alliance provides a set of standardized master
sockets that can be refined and used for any specific target.
A master socket should be applicable to a whole class of targets. In order to equip any target
in that class of devices with a socket description, developers can choose from a set of master
sockets. If it is intended to describe only the most common, functionality of a device or
service that is typical for a target class, sockets can be directly used without any
adjustments. If a developer wants to add additional features he can still use a master socket
to describe the most common features and extend it by device specific aspects.
This reuse of master sockets reduces the risk of failures, reduces the effort of creating new
sockets and supports the grouping of devices in classes.
Wöhlke Web Electricity Socket Template 1.0
This document describes the various URC master documents for a “Wöhlke Websteckdose”.
The Electricity Socket developed by Wöhlke is a via HTTP controllable electricity socket with
an integrated temperature sensor. Based on these documents personalized user interfaces
D202.2 Report on first prototype of Building Block Repository – 1st iteration (Public)
www.prosperity4all.eu 49
can be developed in order to control such a device. All related documents were developed
by HDM during the first year of P4a.
Plant Sensor Templates 1.0
This document describes the various URC master documents for any plant sensor. All documents
can either be used directly or can serve as templates for more specialized devices. Based on the
abstract definitions of the plant sensor personalized user interfaces can be developed.
All related documents were developed by HDM during the second year of P4a.
NetAtmo Templates 1.0NetAtmo Templates 1.0
This document describes the various URC master documents for the NetAtmo weather
station. Based on these documents personalized user interfaces can be developed. The
NetAtmo weather station is a device that can record different in- and outdoor values about
the current weather situation. More information can be found at
https://www.netatmo.com/en-US.https://www.netatmo.com/en-US. All related documents
were developed by HDM during the second year of P4a.
Coloured light bulb Templates 1.0Coloured light bulb Templates 1.0
This document describes the various URC master documents for a coloured light bulb. Based
on these documents personalized user interfaces can be developed for controlling any
lighting system. This includes colour, brightness and saturation. All related documents were
developed by HDM during the second year of P4a.
DVD Player Templates 1.0
This document describes the URC master documents for any DVD Player. All URC Master
documents are on a generic level andan can be used by user interface developers or by
Vendors to make their device controllable via the URC framework. During the first to years
of the P4a project, HDM provided assistance and guidance for writing and standardizing all
related documents.
TV set 1.0
This document describes the various URC master documents for a TV-set. They can be used
as template or the final URC files for any controllable TV-set.
During the first to years of the P4a project, HDM provided assistance and guidance for
writing and standardizing all related documents.
D202.2 Report on first prototype of Building Block Repository – 1st iteration (Public)
www.prosperity4all.eu 50
Twitter Templates 1.0
This document describes the various URC master documents for Twitter that serve as
the base for the development of further personalized user interfaces.
During the first to years of the P4a project, HDM provided assistance and guidance for
writing and standardizing all related documents.
UPNP-av Templates 1.0
This document describes the various URC master documents for a UPNP entertainment
system. Based on these documents personalized user interfaces can be developed. All
related documents were refined by HDM during the first two years of the P4a project.
XBMC Templates 1.0
This document describes the various URC master documents for a XBMC entertainment
system. Based on these documents personalized user interfaces can be developed for
controlling a XBMC entertainment system via the URC framework.
All related documents were developed under the responsibility of HDM as part of T
202.4.The developed socket descriptions were used in T 301.4 of the P4a project in order to
test the prototype of the UCH / openHAB
3.1.2 Target adapter framework
The advantages of exchangeable, personalized user interfaces that are enabled by the
Universal Remote Console (URC) can also be applied to not standard compliant targets
(target ~ any electronic device ordeviceor service). In order to do this, the Universal Control
Hub (UCH) must be used as integration gateway that can connect to targets via target
adapters. Latter implement specific protocols that are needed to control certain devices or
services.
The target adapter framework provides a set of Java classes that simplify the building of new
target adapters and with that the integration of new targets. It frees developers from
implementing the integration in the UCH runtime by providing ready-to-use mechanisms for
update and session management. Hence, developers can concentrate on the
implementation of mapping socket elements on their related functions that must be
executed in order to control a target.
This framework was builtbuild during the first and second year of Prosperity4all in order to
enable a faster and easiereasyer integration of new targets that are needed by SP3
implementers. Furthermore, in T203.3 the project members UCY, FHG and HDM are working
D202.2 Report on first prototype of Building Block Repository – 1st iteration (Public)
www.prosperity4all.eu 51
on a prototype of the GPII runtime by combining the technologies of Asterics, MYUI and
UCH. Here, an appropriate demonstrator will be build. The demonstrator will implement one
of the use cases described in [1]. Therefore new target adapters will be needed which can
profit from the effort that was spent on the development of the target adapter framework.
Easy target discovery manager
This module can be used to register new targets in the UCH, just by editing an XML file. So
far, each target required its own target discovery module with a hard coded discovery
process. Due to the simple configuration mechanism by using an XML file this can be
avoided.
The module is of special value for targets that do not support a network based discovery
mechanism as well as for targets that do directly run inside the UCH. Furthermore, testing of
new targets is simplified.
The module was developed during the second year by HDM and simplifies the integration of
new targets that are needed by other project partners.
Wöhlke target adapter
This is a target adapter that can be used to control the electricity socket mentioned above
via the Universal Control Hub (UCH). The Woelke electricity socket is remotely controllable
multi electricity outlet with three electricity outlets and a temperature sensor that uses
HTTP.
The advantage of using the HTTP controlled electricity socket in combination with the UCH is
that it cannot only be controlled via its own web interface. Instead, all kind of personalized
user interfaces can be developed and used. Thereby taking the different user needs and
preferences into account.
HDM has developed and published this new target adapter as well as a configuration
manager for it. Latter is accessible via the UCH itself and can be used to add and configure
new targets of type “Wöhlke Websteckdose”.
All modules were developed during the second year of Prosperity4All and are based on the
target adapter framework as it is described above. The” Wöhlke Websteckdose” was chosen
due to its very generic character. It can be used to control a huge variety of devices just by
switching them on or off. Possible devices are lights, heating, TV sets, etc.
D202.2 Report on first prototype of Building Block Repository – 1st iteration (Public)
www.prosperity4all.eu 52
Time service Target adapter
This module can be loaded by a Universal Control Hub (UCH) instance. It provides the
current system time and date so that they can be displayed by any personalized,
individualized user interface.
This UCH module is target adapter and target at the same time. It is based on the target
adapter framework described above Being simple in its functionality, it is ideal for
demonstrating the principles of the target adapter framework. However, showing the time
in different formats and modalities is still a valuable functionality.
The module was developed by HDM during the second year of Prosperity 4All.
3.1.3 Tutorials and guidelines
During the first 22 months of the P4a project a new tutorials section at
http://www.openurc.org was created. http://www.openurc.org was created. This new
tutorials section comprises already existing as well as new, during the P4a project created
tutorials, guidelines and technical documentation.
So far, all tutorials were related to specific URC tools and components. This made it difficult
for new URC developers and users to find a good starting point or to find the appropriate
tool and related tutorials for the tasks they wanted to execute.
The new tutorials section organizes tutorials and other documentary sources in a more
process oriented manner. Furthermore, all sources are now organized according to their
importance for different user groups. This includes end users, backend developers or user
interface developers.
Furthermore, the following tutorials were created (click on headlines to read more on the
Developer Space):
Tutorial: Getting started with URC
This tutorial will give you an understanding of the main components of the URC framework
and the idea of exchangeable and personalized user interfaces. The main concepts of
Controllers, Universal Control Hub (UCH), targets, Sockets and the Resource Server are
explained in a simple scenario. For the basic example you need nothing more than a PC with
Internet access.
Tutorial: Creating Sockets with the SocketBuilder
This tutorial explains the creation of a socket for a very simple Todo-Service that we want to
control. We will create the Socket with the SocketBuilder step by step and deploy it on a
D202.2 Report on first prototype of Building Block Repository – 1st iteration (Public)
www.prosperity4all.eu 53
local UCH instance for testing purposes. By creating the Socket the three types of Socket
Elements - variables, commands and notifications - will be explained.
Design Guidelines for User Interface Sockets
URC sockets are the base on which personalized user interfaces can be build. Since sockets
are the common base of all possible user interfaces they should be well designed and stable
in time. These guidelines help to develop reliable and well-designed sockets so that they can
be used by third parties (e.g., user interface developers)
Making a business case with URC
This user story tells a fictive business case which shall illustrate the concepts of URC Super
Sockets.
Frequently Asked Questions
This is a collection of some typical questions that users and developers encounter when they
are using the URC framework.
3.2 Web Development Resources (IDRC)
As shown in section 2.1 new compontents e.g. for sonification (flocking), additionally
improved documentation for parts developed e.g. as part of the Fluid project were included
in the Developer Space prototype. Documentation originating from different projects was
overhauled and included in the Developer Space (click link on headlines to read more):
User Interface Options Tutorial
This tutorial will walk you through the process of adding the Infusion User Interface Options component to your website.
Infusion Preferences Framework Tutorial
This tutorial will walk you through the process of building a Preference Editor using the Infusion Preferences Framework.
First Discovery Tool Tutorial
The First Discovery Tool documentation provides tutorials and API information about the First Discovery Tool.
Accessible Standardized Testing Guide
In a traditional test environment in education, if a student requires accommodations special arrangements and exceptions are required. The Accessible Standardized Testing guide on the Inclusive Learning Design Handbook aims to give strategies that provide computer-aided features which benefit all students.
D202.2 Report on first prototype of Building Block Repository – 1st iteration (Public)
www.prosperity4all.eu 54
Inclusive EPUB 3 Guide
The Inclusive EPUB 3 guide within the Inclusive Learning Design Handbook (ILDH) provides practical strategies to thorny inclusivity and accessibility issues found in EPUB 3, and covers topics such as math, narration, and interactive content within EPUB 3 publications.
Accessible Web Games and Interactive Simulations
The Accessible Web Games and Interactive Simulations guide within the Inclusive Learning Design Handbook (ILDH) provides insights and techniques for creating accessible interactive content. Topics include orienting a screen reader user, communicating events, and cognitive load.
D202.2 Report on first prototype of Building Block Repository – 1st iteration (Public)
www.prosperity4all.eu 55
4 Conclusion and Future Work
As stated in the beginning of this document, it represents work in progress that has been
contributed and will be maintained in a collaborative way within the Developer Space. With
this deliverable we reached an important milestone regarding the components provided
within WP202 of the Prosperity4All project (aka Building Blocks). The searchable and
browsable Building Block Repository enables important interactions within the overall
ecosystem. It enables implementers to find suitable re-usable components in the domain of
assistive technology and accessible IT. If this collection can, however, make a long term
impact will highly depend on the active contributions of large community. We already know
that we can reach people through such an interface, but it only becomes useful to many
developers if high quantity and high quality content can be provided. It is a challenge for the
remaining work in the project to ensure both.
Technically the usefulness and usability of individual tools will be strengthened by the results
of the Frameworks (WP203) team that will provide tools to create highly adaptable systems
from a set of components by interlinking components. Some “missing” Building Blocks will
be contributed as part of feeding back those efforts into the GPII Developer Space (i.e.
Media Transformation and Self Adaptive Web Modules).
With important work from WP201 on architecture (like the quality infrastructure) and
gamification mechanisms we hope to solve the challenge of sustainable partially with the
help of crowdsourcing, partially with the help of infrastructure elements. The work on the
current state of the GPII Developer Space that includes highly innovative components
allowed us to engage already a number of both component developers and solution
implementers. Yet not all components will be useful for everyone. More tutorials on how to
integrate technology easily will have multiplication effects and will lead to further
interactions. While the importance of each individual Building Block or integration of many
might be of high value to an individual stakeholder or even a number of them, the important
value is the match making and community building role of the created repository within the
GPII Developer Space. Guided by parallel user testing and iterative integration with the other
parts of the GPII Developer Space we will build on top of the current milestone to now
dynamically improve on top of a living ecosystem.
Again: during this evolutionary process the main challenge will be the sustainable growth of
the GPII Developer Space. Crowdsourced tagging and descriptions already call for crowd-
sourced curation and editing. New (non-monetary) business models, gamification and
quality management strategies will need to be applied not only by the users of a GPII
Developer Space (ie. implementers) but also the GPII Developer Space itself. Further
dogfooding the outputs of other work done within the project will be an important part of
future work on a useful Building Block repository.