Ubiquitous Applications

I love to create apps. I worked on and distributed many apps, for Android and mostly iOS devices, and also academically focused myself on application development in my Computer Science studies. To me it not only matters that an app is well-designed to fit its use cases, but also that the user experience is top-notch. I achieve this by thinking structured and domain-oriented to include many possible solutions to a use case. I never stop learning about strategies such as engineering context-adaptive apps and driving offline + mobile first approaches. Likewise, I keep up-to-date with the current system-native improvements and am already experienced with frameworks such as SwiftUI, Metal, Core ML, Vision and many more.

Machine Learning

As the hot topics of Computer Science, Artificial Intelligence and especially Machine Learning solve problems that were not sufficiently solvable before. From data analysis through structuring or segmentation to the classification of sensor data and the generation of assistive, human-like voices, applying Artificial Intelligence correctly is a powerful tool to understand and interpret the context and environment of the user.

Featured Project

The 3Dify app uses multi-camera-array disparity computation on photos to generate depth maps and use them for a 3d parallax effect. The app is context-aware such that on devices without multi-camera-arrays, it creates the depth maps by monocular depth interpretation using the FCRN-DepthPrediction neural network and the new CoreML/Vision frameworks. In this way, even users without a device capable of disparity calculation can use the parallax effect.

Adaptivity through CoreML and Vision

On-Device Machine Learning brings new possibilities. For example, the 3Dify app uses an Artificial Intelligence to interpret depth information into photos. This is a very good example for how current AI research can be used in mobile applications to solve a specific use case.

Cloud Computing

Engineering ubiquitous systems, like mobile or IOT applications, requires solutions to make development, distribution and data flow more efficient, scalable and robust.

Blockchain and Consensus

Blockchain solves problems where it is of interest to share and synchronize a writable database across many untrustworthy hosts, not only in the field of cryptocurrency. For Example, we use a Blockchain for our experimental proof-of-concept Messenger Peerbridge to store and distribute messages.

Continuous Everything and DevOps

Cloud systems can be used to significantly reduce time to market while opening new possibilities for software validation and verification workflows. Jobs that would take time and effort to perform can be efficiently performed in the cloud. In Continuous Integration, the software is committed to a cloud system and automatically validated with tests and code analysis tools. Software that passes cross-feedback and quality gates can be continuously published, deployed and distributed. For example, Fastlane can be used on iOS to directly build, sign and distribute application archives to Apple App Store Connect and TestFlight. My blog ☕💻.ws uses a continuous publishing workflow to synchronize its blog entries with a content repository. This makes change management very straightforward, without any needs to manually deploy and update the blog.

Service Oriented Architecture

While monolithic systems are perfect to fit smaller applications with only a few contributors, systems with very high server loads and many development teams usually directly depend on their scalability, load-wise and development-wise. If applicable, it can be a good solution to split a monolithic system into smaller individual systems that each cover a unique set of capabilities. This requires new software development paradigms and patterns. Teams may then be able to significantly profit from their independent development cycles and the clear interfaces they have to offer in terms of interoperability. The application itself scales better under, for example, an elastic load balancer which distributes load to the individual services. As an even more radical approach, Microservices can be tailored to encapsulate only a tiny set of functionalitites. Our experimental app ordered.online uses such a principle together with Docker Swarm based containerization.

Distributed Systems

For many use cases it may be necessary to decentralize an application in the form of a distributed system. Distributed systems require a sufficient informedness about their basic principles, since many regular software patterns found in the classical client-server concept can no longer be used. Our Peerbridge Messenger is a distributed system and uses the concept of distributed hash tables to connect clients.

In a continuously evolving technological environment, not only portability and durability is increasingly important, but also (social) connectedness. The shown principles of Cloud Computing are important to maximize the product value while minimizing development and support expenses.


I never limit myself to a specific technology and always analyze, which technology is the best for a use case and leverage its advantages. This way I am very flexible to new challenges. Plus, its fun to learn new technologies and languages!

Do you have something in mind? I am always interested in new business opportunities or job inquiries. Contact me: contact@philippmatth.es


8. Juli 2021 » German » Vortrag

OUTPUT.DD: Microservices, DevOps und Containerisierung im Cloud Computing

Cloudbasierte Systeme bieten heute schon eine gigantische Vielfalt an Services an, man spricht daher auch von Anything-as-a-Service, kurz XaaS. Außerdem müssen moderne Cloud-Systeme ausreichend skalieren und parallelisieren, um die teils immense Last von Nutzeranfragen zu stämmen. Dies stellt neue Herausforderungen an die Softwareentwicklung und -konzeption, deren Lösung hierfür neue Paradigmen und Workflows sind...

» Vortragsbeschreibung lesen

8. Juli 2021 » German » Vortrag

OUTPUT.DD: Smartphone-Fotos 3D-ifizieren

Viele haben dieses Feature von Smartphones vermutlich schon genutzt: Moderne Smartphones bieten die Möglichkeit, Fotos in einem speziellen Modus zu schießen, um sie danach mit Portrait-Effekten, künstlicher Tiefenschärfe und vielem mehr auszustatten. Im Vortrag erfahrt ihr, wie dieser Effekt auf aktuellen iPhones mit Multi-Kamera-Arrays über Methoden aus dem Bereich Computer Vision funktioniert und wie hieraus Tiefen-Maps von der fotografierten Szene erstellt werden können. Außerdem wird anhand des aktuellen Forschungsstands gezeigt, wie Machine Learning auf Smartphones eingesetzt werden kann, um Tiefen-Maps auch auf Systemen mit nur einer Kamera zu erstellen....

» Vortragsbeschreibung lesen

8. Juli 2021 » German » Vortrag

OUTPUT.DD: Kryptografie in Messengern

Ein wichtiges Privacy-Feature bei modernen Messengern ist die Ende-zu-Ende-Verschlüsselung. Habt ihr euch schonmal gefragt, wie das überhaupt funktioniert? Wir zeigen euch das Signal-Verfahren (unter anderem von Whatsapp genutzt) und warum es nicht reicht, um wirklich vertraulich zu kommunizieren. Die Frage ist: Wie könnte man die Privatsphäre der Nutzer von Messengern weiter verbessern? Wir demonstrieren euch einen Prototyp unseres „Peerbridge“ Messengers, der genau dies versucht. ...

» Vortragsbeschreibung lesen

February 5 2021 » English » Seminar

Distributed Hash Tables

Basics and motivation: Why do we need Distributed Hash Tables? » Functional aspects of Distributed Hash Tables: How do they work? » Comparison between different concrete approaches: Which different approaches to Distributed Hash Tables do exist? » Illustration of a selected Distributed Hash Table in use: Research project “Peerbridge” Blockchain Messenger

» Download PDF

1. Februar 2021 » German » Dokumentation

Dokumentation über den Neuaufbau der OUTPUT.DD App im WiSe 2020/21

OUTPUT.DD ist eine jährlich stattfndende Projektschau, auf welcher in der Fakultät Informa- tik der Technischen Universität Dresden wissenschaftliche Projekte von Studenten, Firmen und Mitarbeitern präsentiert und ausgestellt werden. Begleitend zur Projektschau wird den Besuchern der Veranstaltung jeweils eine App für iOS und Android zur Verfügung gestellt. Die Apps dienen dabei selbst nicht nur als Plattform, über welche Nutzer den zeitlichen und topografschen Veranstaltungsplan einsehen können, sondern auch als Integrationspunkt für verschiedene Forschungsprojekte aus den Bereichen Mediengestaltung, Application Development und Mobile Computing...

» PDF herunterladen

30. November 2020 » German » Dokumentation

Erstellung eines Repository-Frameworks für Couchbase zur Migration der OUTPUT.DD iOS App im OUTPUT.DD-Komplexpraktikum

Komplexpraktikum OUTPUT.DD

» PDF herunterladen

17. September 2020 » German » Wissenschaftliche Arbeit

Erstellung und Evaluation eines Gamication-Konzeptes zur Verbesserung der Codequalität eingereichter Lösungen in INLOOP

Großer Beleg

» PDF herunterladen

7. Juni 2018 » German » Seminar

Veritas - ein Machine Learning-Framework für die Performance-Coverage-Analyse von Proxy-Applications


» PDF herunterladen