game engine Unity3D (Unity 2016), which nicely
deals with these constraints.
2.1 Technical Requirements for
Educational Applications
One of the core challenges of developing
educational applications is the wide range of
hardware that can realistically be used when wanting
to learn or teach with the program in the classrooms,
the private homes of teachers and students as well as
“on the go'”. Any educational application that forces
schools or students to switch from one device with
their preferred operating system, e.g. a desktop or
laptop computer, to a different device with a
different operating system causes a huge obstacle
and will most certainly not be used voluntarily. The
current trend BYOD (bring your own device) has
also arrived at schools. Teachers and students expect
that applications run both, on full-scale computers as
well as tablets and other mobile devices. Therefore,
desktop and mobile versions of the software have to
be provided. Especially for mobile applications this
issue is amplified. With Android and iOS sharing the
market in almost equal parts, supporting both
operating systems is crucial, as no group of teachers
or class of students is willing to change to a different
device only for the sake of a math application. As an
additional challenge operating systems with a
smaller market share, such as the Linux operating
systems and Windows phones must be taken into
consideration as well. These are certainly less
common but anyone using any of these systems
must either be outfitted by the school with a new
device or left out of the learning group. Both options
are not acceptable.
On top of this, the list of challenges continues.
The devices that run the application can have
virtually any kind of screen resolution and aspect
ratio. A “hardwired” interface for each resolution
and aspect ratio option is both, not appealing and
unfeasible. Consequently, the application needs to
adapt the user interface in an intelligent and flexible
way, without elements overlapping each other or
getting cut off and without wasting valuable screen
“real estate”.
Users also interact with the application in
different ways on the different devices: they use
traditional mouse and keyboard when working at a
desktop computer, touchpad and keyboard on
laptops and notebooks, and touchscreen input for
tablets, phones and other touchscreen-enabled
devices. Developing for and testing these input
methods in a seamless and hassle-free way is vital.
To summarize the points mentioned above we can
state that an educational application will only be
highly accepted from schools if it is a multi-platform
application providing a flexible user interface that
nicely adapts to the screen resolution and aspect
ratio and offers various methods of input, depending
on the device.
For this reason, we have chosen Unity3D, which
covers these requirements and has hence been
selected as the foundation for the reimplementation
of the Suremath application (Schneider, Ubl 2016).
Using the Mono architecture, Unity supports an
extremely wide range of platforms, e.g. Windows,
OSX, Linux, HTML with WebGL, Android, iOS,
Windows Phone and Blackberry. It is possible to
write an application once and to deploy it to any
target platform. There is no need for maintaining
different branches of the software or code branches
that “customize” the behaviour of the program based
on the target system.
2.2 Screen-independent User Interface
A number of requirements have to be fulfilled for a
graphical user interface to be truly screen-
independent, that is, flexible in regards to both
resolution and aspect ratio.
The position of each interface element has to be
defined in relative terms as opposed to absolute
pixel locations for example. Unity3D uses an
anchoring system, where elements can be anchored
to regions and either fill them up completely or stick
to one edge of the anchor. The concept also supports
padding (distances between elements) which helps
making the interface look more appealing and it
improves the readability. This way, elements are
dynamically positioned, stick to that position and are
independent of the screen.
However 2D graphics cannot simply be scaled
arbitrarily. An image for a button background that is
256x64 pixels large, for example, will only look
acceptable if it is scaled in a certain interval. If the
resolution or aspect ratio forces the element to
change its scale dramatically, the difference between
the asset graphic and on-screen element resolution
will force the renderer to up- or downscale the
graphic, generally resulting in sub-optimal image
quality (blurriness, aliasing, missing or double pixel
rows or columns).