-controlled by the \gls{Firmata}-protocol\footnote{``firmata/protocol:
-Documentation of the Firmata protocol.''
-(\url{https://github.com/firmata/protocol}). [Accessed: 23-May-2017].}. This
-protocol is designed to expose the peripherals such as sensors to a server.
-This allows very fine grained control but with the cost of excessive
-communication overhead since no code is executed on the device itself, only the
-peripherals are queried. A \gls{Haskell} implementation of the protocol is
-also available\footnote{``hArduino by LeventErkok.'' (\url{%
-https://leventerkok.github.io/hArduino}). [Accessed: 23-May-2017].}. The
-hardware requirements for running a \gls{Firmata} client are very low. However,
-the communication requirements are high and therefore it is not suitable for
-\gls{IoT} applications that operate through specialized \gls{IoT} networks
-which often have low bandwidth and low power properties.
+controlled very directly using the
+\gls{Firmata}-protocol\footnote{``firmata/protocol: Documentation of the
+Firmata protocol.'' (\url{https://github.com/firmata/protocol}). [Accessed:
+23-May-2017].}. This protocol is designed to allow control of the peripherals
+--- such as sensors and actuators --- directly through commands sent via a
+communication channel such as a serial port. This allows very fine grained
+control but with the cost of excessive communication overhead since no code is
+executed on the device itself, only the peripherals are queried. A
+\gls{Haskell} implementation of the protocol is also
+available\footnote{``hArduino by LeventErkok.'' (
+\url{https://leventerkok.github.io/hArduino}). [Accessed: 23-May-2017].}. The
+hardware requirements for running a \gls{Firmata} client are very low.
+However, the communication requirements are high and therefore it is not
+suitable for \gls{IoT} applications that operate through specialized \gls{IoT}
+networks which often only support low bandwidth.