Simplifying the Android developer’s life with Architecture Components

Some weeks ago at the I/O 2017 Google announced that they are working on some components to make the Android developers‘ life easier. They released a bunch of libraries which are supposed to take care of the lifecycle and suggest an architecture to rely on when developing an app. Despite the libraries not being considered stable by now, the community has been pretty excited about this and is adapting to it already. And indeed the libraries are working pretty stable already, some APIs might change though due to community feedback. Let’s have a closer look! Weiterlesen

Migrating an embedded Android setup: Porting the Kernel Driver (Part 2)

After getting the display up and running, we’ll have a look at the kernel drivers. It would be way too much work describing each kernel driver in detail, so I will concentrate on the changes needed to port them to the newer kernel version, 3.14 to be exact. A more thorough introduction to the sensor driver and the whole sensor integration can be found here. Of course I learned a lot since I wrote my previous series of articles so I improved the driver quite a bit. Both devices are connected to the Wandboard via the I2C-bus, so they are working really similar at this level. Just controlling it, reading data and sleep management differs for each device.
Weiterlesen

Affective Robots: Emotionally Intelligent Machines

Automatic emotion recognition is an emerging area which leverages and combines knowledge from multiple fields such as machine learning, computer vision and signal processing. It has potential applications in many areas including healthcare, robotic assistance, education, market survey and advertising. Another usage of this information is to improve Human Computer Interaction with what can be described as Affective Computing, an interdisciplinary field that expands into otherwise unrelated fields like psychology and cognitive science. The concept of „affective robots“ refers to leveraging these emotional capabilities in humanoid robots to respond in the most appropriate way based on the user’s current mood and personality traits. In this article, we explore the emotion recognition capabilities of Pepper the robot and how they perform in contrast to other cutting-edge approaches. Weiterlesen

Migrating an embedded Android setup: What could possibly go wrong? (Part 1)

Android updates are rare, especially for development boards. We were running such a deprecated board once built to demonstrate our knowledge in embedded Android. Since we didn’t want to rely on a deprecated showcase, we decided to build a completely new setup bringing together the old show case, an ordinary Android extended with a line LCD display, usable via an SDK-Add-on, and an integrated sensor, previously described here.
Weiterlesen

Android UI Tests mit dem Espresso Test Recorder und einem Mock Web Server

Obwohl sich das Espresso Framework schon seit längerer Zeit zum Standard für UI-Tests unter Android etabliert hat, ist die Hürde noch immer recht hoch diese auch zu implementieren. Durch den Espresso Test Recorder, der mit Android Studio 2.2 eingeführt wurde, hat sich diese Schwierigkeit deutlich verringert. Wir wollen uns also damit beschäftigen, wie wir relativ einfach UI-Tests generieren aber auch unabhängig von Remote-Servern machen können. Weiterlesen

Web Performance Optimisation (Part 2): Perceived Performance

In the previous article of this series we talked about the boundaries of Web performance optimization (WPO). We introduced some metrics and a scale of measurement but we omitted one large part of the problem due to the purely technical point of view we took previously. In reality, while time and performance can be measured objectively it is perceived subjectively by humans. Static measurement scales and performance analyses are relevant for performance measurements but largely irrelevant in real world usage. As long as users have to interact with an application we have to make sure that we test and evaluate the application’s performance from a real user’s perspective. Consequently in this part of the series we want to talk about perceived performance and why it makes sense to put the user first when it comes to WPO. Weiterlesen

Pixel (XL) im Langzeittest: Frontalangriff auf das iPhone

Schon im Vorfeld ihrer Veröffentlichung sorgten Pixel und Pixel XL – die ersten „Smartphones von Google“ – für Schlagzeilen: Während die tiefe Integration von Software und Hardware nie dagewesene Performance versprachen, sorgten das Design und die hohen Preise der Nexus-Nachfolger für Kopfschütteln. In unserem Test lest ihr, wie sich Pixel und Pixel XL nach einigen Wochen im Dauereinsatz schlagen und ob die Leistung den höheren Preis tatsächlich rechtfertigt. Weiterlesen

Anwendungen von AngularJS auf Angular 2 migrieren [Tutorial]

AngularJS 1 ist ein gutes, stabiles Framework, um Web-Anwendungen zu erstellen. Durch die Entscheidung der Angular(JS)-Entwickler, die Nachfolgeversion des Frameworks auf komplett neue Füße zu stellen, sind viele Entwickler unsicher, ob sie ihre bestehende, gut funktionierende AngularJS-Anwendung updaten sollen oder nicht. Das Elster-Naturell vieler Entwickler trägt wahrscheinlich seinen Teil dazu bei. Zur Beruhigung dieser Leser kann gesagt werden: AngularJS 1 wird nicht morgen als deprecated gekennzeichnet werden; durch die große Verbreitung von AngularJS 1 wird dieses Framework noch eine ganze Weile eine wichtige Rolle in der Entwicklung von Web-Anwendungen spielen. Ein Upgrade kann dennoch sinnvoll sein, da Angular 2 viele sinnvolle neue Konzepte und Features einführt, von denen die Entwicklung einer wartbaren, sauber strukturierten Anwendung nur profitieren kann. Weiterlesen