<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Beiträge von Melanie Maier - Mobile USTP MKL</title>
	<atom:link href="https://mobile.fhstp.ac.at/author/it251510/feed/" rel="self" type="application/rss+xml" />
	<link>https://mobile.fhstp.ac.at/author/it251510/</link>
	<description>Die &#34;Mobile Forschungsgruppe&#34; der USTP, sie  sammelt hier alles zu den Themen Design, UX und Entwicklung mobiler Applikationen</description>
	<lastBuildDate>Wed, 16 Sep 2026 08:37:27 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://mobile.fhstp.ac.at/wp-content/uploads/2025/03/icon-120x120.webp</url>
	<title>Beiträge von Melanie Maier - Mobile USTP MKL</title>
	<link>https://mobile.fhstp.ac.at/author/it251510/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Designing Offline-First iOS Apps: Local State, Persistence, and Sync Without Losing User Trust</title>
		<link>https://mobile.fhstp.ac.at/allgemein/designing-offline-first-ios-apps-local-state-persistence-and-sync-without-losing-user-trust/</link>
		
		<dc:creator><![CDATA[Melanie Maier]]></dc:creator>
		<pubDate>Wed, 16 Sep 2026 08:37:26 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Native Development]]></category>
		<category><![CDATA[Studium]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[offline-first]]></category>
		<category><![CDATA[persistence]]></category>
		<category><![CDATA[Sync]]></category>
		<guid isPermaLink="false">https://mobile.fhstp.ac.at/?p=15926</guid>

					<description><![CDATA[<p>Abstract Many mobile apps look simple until they must preserve an unfinished edit, work offline, survive a crash, and reconcile changes from two devices. Then “save and sync” becomes an architecture, and a promise to the user. An offline-first iOS app treats its local store as the immediate source of truth. User actions update it <a class="read-more" href="https://mobile.fhstp.ac.at/allgemein/designing-offline-first-ios-apps-local-state-persistence-and-sync-without-losing-user-trust/">[...]</a></p>
<p>The post <a href="https://mobile.fhstp.ac.at/allgemein/designing-offline-first-ios-apps-local-state-persistence-and-sync-without-losing-user-trust/">Designing Offline-First iOS Apps: Local State, Persistence, and Sync Without Losing User Trust</a> appeared first on <a href="https://mobile.fhstp.ac.at">Mobile USTP MKL</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">Abstract</h2>



<p class="wp-block-paragraph">Many mobile apps look simple until they must preserve an unfinished edit, work offline, survive a crash, and reconcile changes from two devices. Then “save and sync” becomes an architecture, and a promise to the user.</p>



<p class="wp-block-paragraph">An offline-first iOS app treats its local store as the immediate source of truth. User actions update it first; synchronization is separate and retryable. State boundaries must be explicit, writes safe, conflicts explainable, and the interface honest about data stored only locally.</p>



<p class="wp-block-paragraph">This article follows that model from SwiftUI state through persistence, autosave, change tracking, conflicts, and failure UX.</p>



<h2 class="wp-block-heading">1. Why Offline-First Still Matters</h2>



<p class="wp-block-paragraph">In 2026, fast networks are common, reliable connectivity is not. A phone can enter a tunnel, encounter a captive portal, or lose authentication. A request may reach the server even when its response never reaches the client.</p>



<p class="wp-block-paragraph">Offline-first begins with a rule: the user performs the app’s core work against local data. The app records the intent durably and synchronizes later. A task app should not discard a completed task because the server timed out.</p>



<p class="wp-block-paragraph">This is different from caching. A cache is usually disposable and can be reconstructed from an authoritative source. Offline-created user data cannot. If deleting the local copy would destroy information that exists nowhere else, it is not “just a cache.”</p>



<p class="wp-block-paragraph">Reachability is not permission to write. Network status can help decide when to attempt synchronization, but it cannot prove that the next request will succeed. Foundation can wait through <code>URLSessionConfiguration.waitsForConnectivity</code>, but the durable queue, not a green icon, is what makes a write reliable (<a href="https://developer.apple.com/documentation/foundation/urlsessionconfiguration/waitsforconnectivity">Apple: </a><code><a href="https://developer.apple.com/documentation/foundation/urlsessionconfiguration/waitsforconnectivity">waitsForConnectivity</a></code>).</p>



<p class="wp-block-paragraph">The useful mental model is:</p>



<ol start="1" class="wp-block-list">
<li>accept the user’s action</li>



<li>validate it locally</li>



<li>commit it locally</li>



<li>render the committed result</li>



<li>enqueue synchronization</li>



<li>retry safely until the server acknowledges it</li>
</ol>



<p class="wp-block-paragraph">The network path affects step five, not the validity of steps one through four.</p>



<h2 class="wp-block-heading">2. Local State Is Not Temporary State</h2>



<p class="wp-block-paragraph">SwiftUI makes state easy to declare, which can make unlike kinds of state look deceptively similar. A robust app distinguishes at least three layers.</p>



<p class="wp-block-paragraph"><strong>View state</strong>&nbsp;exists only to present or control the current interface: whether a sheet is open, which tab is selected, a search field’s draft text, or the expansion state of a disclosure group.&nbsp;<code>@State</code>&nbsp;is often appropriate because SwiftUI owns that value for the lifetime of the view identity.</p>



<p class="wp-block-paragraph"><strong>Domain state</strong>&nbsp;represents meaningful work: a document title, completed task, or pending deletion. It must not depend on whether a view exists. Observation and&nbsp;<code>@Observable</code>&nbsp;help present domain objects, but observability is not persistence.</p>



<p class="wp-block-paragraph"><strong>Persistent application state</strong>&nbsp;has crossed a durability boundary. It has been written to a file or store that can be reconstructed after relaunch. SwiftData’s&nbsp;<code>ModelContainer</code>&nbsp;and&nbsp;<code>ModelContext</code>, a Core Data persistent container, or a purpose-built SQLite layer live here.</p>



<p class="wp-block-paragraph">The distinction matters during editing. Binding a field directly to a persistent model saves half-finished values. That may suit notes, but not a bank transfer or an object whose fields must remain consistent. In those cases, edit a draft, validate it, and commit the complete change in one transaction.</p>



<p class="wp-block-paragraph">A practical dependency direction is:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
SwiftUI view → use case / repository → local store
                                <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2198.png" alt="↘" class="wp-smiley" style="height: 1em; max-height: 1em;" /> sync outbox
</pre></div>


<p class="wp-block-paragraph">Views request operations such as&nbsp;<code>completeTask</code>; they do not decide how JSON is replaced or CloudKit records are merged. This makes offline behavior testable without UI or a real server.</p>



<h2 class="wp-block-heading">3. Choosing a Persistence Strategy</h2>



<p class="wp-block-paragraph">Choose the smallest persistence mechanism that preserves the data’s structure, query needs, migrations, and ownership.</p>



<p class="wp-block-paragraph"><strong>UserDefaults</strong>&nbsp;is for small preferences such as sort order or a dismissed onboarding flag. It is not a document database or an outbox.</p>



<p class="wp-block-paragraph"><strong>JSON or property-list files</strong>&nbsp;suit small, document-shaped datasets loaded and replaced as a unit. They are transparent and exportable. Once the app needs indexed queries, relationships, concurrent writers, or a large sync log, one JSON file becomes an improvised database.</p>



<p class="wp-block-paragraph"><strong>SwiftData</strong>&nbsp;is a natural high-level choice for many new Apple-platform apps. It integrates persistent models with Swift and SwiftUI queries. Its main context supports autosave in app configurations, manually created contexts do not inherit that behavior. Design schema migrations before a model rename ships (<a href="https://developer.apple.com/videos/play/wwdc2023/10196/">Apple: Dive deeper into SwiftData</a>,&nbsp;<a href="https://developer.apple.com/videos/play/wwdc2025/291/">Apple: schema migration</a>).</p>



<p class="wp-block-paragraph"><strong>Core Data</strong>&nbsp;remains strong for mature apps, complex graphs, and established migration plans.&nbsp;<code>NSPersistentContainer</code>encapsulates the stack, while persistent history can expose transactions made elsewhere. SwiftData is not merely “Core Data with nicer syntax”. Evaluate requirements instead of choosing by age.</p>



<p class="wp-block-paragraph"><strong>SQLite</strong>&nbsp;fits explicit schemas, specialized indexes, predictable SQL, or tight transaction control. An atomic commit makes all transaction changes visible or none. Write-ahead logging can let readers continue during writes, though checkpointing and durability settings still matter (<a href="https://sqlite.org/atomiccommit.html">SQLite: Atomic Commit</a>,&nbsp;<a href="https://sqlite.org/wal.html">SQLite: WAL</a>).</p>



<h2 class="wp-block-heading">4. Autosave and Data Integrity</h2>



<p class="wp-block-paragraph">Autosave is a user-experience policy, not an integrity mechanism. It answers&nbsp;<em>when the app attempts to persist</em>, not&nbsp;<em>whether a multi-part change is valid, atomic, or recoverable</em>.</p>



<p class="wp-block-paragraph">For free-form text, saving after every keystroke wastes work. A short debounce coalesces edits, but creates a window where input exists only in memory. Flush critical drafts when editing ends and when the scene changes phase.</p>



<p class="wp-block-paragraph">For files, write to an auxiliary file and replace the original only after success. Foundation’s atomic option follows this approach (<a href="https://developer.apple.com/documentation/foundation/nsdata/writingoptions/atomic">Apple:&nbsp;</a><code><a href="https://developer.apple.com/documentation/foundation/nsdata/writingoptions/atomic">NSData.WritingOptions.atomic</a></code>). Keep a last known-good version when corruption is costly, a backup matters only if restore is tested.</p>



<p class="wp-block-paragraph">For database persistence, group invariant-related changes in one transaction. Creating an order and decrementing inventory in separate saves exposes an impossible intermediate state after a crash. Transaction boundaries should follow domain meaning, not screen layout.</p>



<p class="wp-block-paragraph">Every model needs a migration story. Use stable identifiers independent of local row IDs, version schemas, and test upgrades from every supported release. Never answer migration failure by silently deleting the user’s store.</p>



<p class="wp-block-paragraph">Treat storage errors as first-class outcomes. Disk space can run out, encoding can fail, and validation can reject a save.&nbsp;<code>try? context.save()</code>&nbsp;may create a quiet interface while hiding that data was never durable.</p>



<h2 class="wp-block-heading">5. Sync Is a Trust Problem</h2>



<p class="wp-block-paragraph">Synchronization is often drawn as two arrows between phone and cloud. Inside are duplicate requests, reordering, partial failure, concurrent edits, deletion, and expired authentication.</p>



<p class="wp-block-paragraph">A trustworthy design separates&nbsp;<strong>local durability</strong>&nbsp;from&nbsp;<strong>remote synchronization</strong>. Each mutation creates the domain change and an outbox entry in one transaction. A worker sends operations, records acknowledgements, applies remote changes, and retries with backoff. After a crash, the outbox still exists.</p>



<p class="wp-block-paragraph">Each operation should be idempotent. Give it a stable operation ID so a server can recognize a retry. If the server receives the request but the client loses the response, retrying must not create a duplicate object or repeat a payment.</p>



<p class="wp-block-paragraph">Timestamps are weak ordering mechanisms because device clocks differ. Prefer server revisions, advancing change tokens, or per-record versions. SwiftData History exposes chronological transactions and explicitly supports remote sync and out-of-process changes (<a href="https://developer.apple.com/videos/play/wwdc2024/10075/">Apple: SwiftData history</a>,&nbsp;<a href="https://developer.apple.com/documentation/swiftdata/fetching-and-filtering-time-based-model-changes">Apple: time-based changes</a>).</p>



<p class="wp-block-paragraph">HTTP offers concurrency semantics: the server returns an&nbsp;<code>ETag</code>, and the client sends&nbsp;<code>If-Match</code>&nbsp;when updating. If the resource changed, the precondition fails instead of overwriting newer data (<a href="https://www.rfc-editor.org/rfc/rfc9110">RFC 9110</a>). CloudKit similarly gives&nbsp;<code>CKRecord</code>&nbsp;a change tag for synchronization (<a href="https://developer.apple.com/documentation/cloudkit/ckrecord">Apple:&nbsp;</a><code><a href="https://developer.apple.com/documentation/cloudkit/ckrecord">CKRecord</a></code>).</p>



<p class="wp-block-paragraph">The app should model sync state explicitly, for example:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
enum SyncState: Equatable {
    case localOnly
    case queued
    case syncing
    case synced(revision: String)
    case conflict
    case blocked(reason: BlockReason)
}
</pre></div>


<p class="wp-block-paragraph">Do not infer sync from the absence of an error. A request that has not started is not synchronized, and expired authentication differs from a timeout.</p>



<h2 class="wp-block-heading">6. Conflict Handling and External Sources</h2>



<p class="wp-block-paragraph">Conflict policy must be defined per entity and sometimes per field. “Last write wins” is simple, but it can silently erase work and becomes especially unsafe when “last” depends on device clocks.</p>



<p class="wp-block-paragraph">Some data merges automatically: independent fields can merge separately and tag sets may use union semantics. Collaborative text needs a purpose-built algorithm such as a CRDT. It should not be improvised from&nbsp;<code>updatedAt</code>.</p>



<p class="wp-block-paragraph">Other conflicts need a human. Preserve both versions, show meaningful differences, and offer “Your edit from 10:42” versus “Edit from iPad at 10:45,” not merely “local” and “remote.”</p>



<p class="wp-block-paragraph">Deletions deserve their own model. If a deleted record vanishes immediately, another offline device may later re-upload it. A tombstone—an identifier, deletion revision, and retention period—allows deletion to propagate. Purge it only after the system’s synchronization window and device assumptions make resurrection acceptably unlikely.</p>



<p class="wp-block-paragraph">External sources also need ownership rules:</p>



<ul class="wp-block-list">
<li><strong>Read-only reference data:</strong> cache locally, display its age, and replace it from the source. Never upload it as if the user authored it</li>



<li><strong>Imported data:</strong> record provenance and the external identifier. Decide whether import creates an owned snapshot or maintains a live link</li>



<li><strong>Locally editable mirrors:</strong> keep the source version alongside pending local changes. Rebase or surface a conflict when the source changes</li>



<li><strong>External deletion:</strong> distinguish “no longer available upstream” from “user deleted locally.” Preserve local notes or derived records when policy allows</li>
</ul>



<p class="wp-block-paragraph">CloudKit subscriptions can signal record creation, modification, and deletion, but they only trigger fetching. They do not replace a durable local store or change token (<a href="https://developer.apple.com/documentation/cloudkit/ckrecordzonesubscription">Apple:&nbsp;</a><code><a href="https://developer.apple.com/documentation/cloudkit/ckrecordzonesubscription">CKRecordZoneSubscription</a></code>).</p>



<h2 class="wp-block-heading">7. UX for Failure</h2>



<p class="wp-block-paragraph">Offline-first UX should communicate consequences, not infrastructure. Users need three answers: Is my work saved here? Is it available elsewhere? Do I need to act?</p>



<p class="wp-block-paragraph">Use calm, specific status language:</p>



<ul class="wp-block-list">
<li><strong>Saved on this iPhone</strong> — the local transaction committed</li>



<li><strong>Waiting to sync</strong> — no action is normally required</li>



<li><strong>Syncing…</strong> — work is in progress</li>



<li><strong>Couldn’t sync. We’ll retry.</strong> — the failure is transient</li>



<li><strong>Sign in to continue syncing</strong> — user action is required</li>



<li><strong>Two versions need your review</strong> — silent merging would risk data loss</li>
</ul>



<p class="wp-block-paragraph">Avoid blocking alerts for routine failures. Prefer inline status, a persistent account banner, or sync-details screen. Reserve modal interruption for unsafe actions or imminent data loss.</p>



<p class="wp-block-paragraph">Optimistic UI is appropriate only after the local commit succeeds. If a user marks a task complete, the interface can update immediately because the durable local state already represents that action. If the save fails, keep the draft visible, explain that it is not yet stored, and offer a retry or export path.</p>



<p class="wp-block-paragraph">Expose “last synchronized” and pending changes when consequential. Never show a cloud checkmark merely because the device has connectivity. Do not encode sync state only in color. Provide text for VoiceOver.</p>



<p class="wp-block-paragraph">Test sequences, not isolated errors: edit offline, terminate, relaunch, edit elsewhere, reconnect, receive a conflict, lose connectivity during resolution, and retry. Also test duplicate responses, full storage, corruption, external deletion, and schema upgrades with a non-empty outbox.</p>



<h2 class="wp-block-heading">8. Conclusion</h2>



<p class="wp-block-paragraph">Good offline-first architecture is mostly invisible. The app opens with useful data, accepts work immediately, survives interruption, and later converges without surprises. Achieving that experience requires more than adding a cache or calling&nbsp;<code>save()</code>&nbsp;from SwiftUI.</p>



<p class="wp-block-paragraph">Separate view state from durable domain state. Choose persistence by data shape and guarantees. Make writes atomic at meaningful boundaries. Track mutations with stable identities and versions. Treat sync as a retryable state machine, not a request callback. Define ownership, deletion, and conflict policies before the edge cases arrive. Above all, tell the truth in the interface about what is saved locally and what has reached another device.</p>



<p class="wp-block-paragraph">Users rarely praise an app for its outbox, migration plan, or tombstones. They simply decide that the app feels dependable. That judgment is the real product of an offline-first design.</p>



<h2 class="wp-block-heading">Sources and Further Reading</h2>



<ul class="wp-block-list">
<li>Apple, <a href="https://developer.apple.com/videos/play/wwdc2023/10196/">Dive deeper into SwiftData (WWDC23)</a>.</li>



<li>Apple, <a href="https://developer.apple.com/videos/play/wwdc2024/10075/">Track model changes with SwiftData history (WWDC24)</a>.</li>



<li>Apple, <a href="https://developer.apple.com/videos/play/wwdc2025/291/">SwiftData: Dive into inheritance and schema migration (WWDC25)</a>.</li>



<li>Apple, <a href="https://developer.apple.com/documentation/swiftdata/fetching-and-filtering-time-based-model-changes">Fetching and filtering time-based model changes</a>.</li>



<li>Apple, <code><a href="https://developer.apple.com/documentation/coredata/nspersistentcontainer">NSPersistentContainer</a></code>.</li>



<li>Apple, <code><a href="https://developer.apple.com/documentation/foundation/nsdata/writingoptions/atomic">NSData.WritingOptions.atomic</a></code>.</li>



<li>Apple, <code><a href="https://developer.apple.com/documentation/foundation/urlsessionconfiguration/waitsforconnectivity">URLSessionConfiguration.waitsForConnectivity</a></code>.</li>



<li>Apple, <code><a href="https://developer.apple.com/documentation/cloudkit/ckrecord">CKRecord</a></code> and <code><a href="https://developer.apple.com/documentation/cloudkit/ckrecordzonesubscription">CKRecordZoneSubscription</a></code>.</li>



<li>SQLite, <a href="https://sqlite.org/atomiccommit.html">Atomic Commit in SQLite</a> and <a href="https://sqlite.org/wal.html">Write-Ahead Logging</a>.</li>



<li>IETF, <a href="https://www.rfc-editor.org/rfc/rfc9110">RFC 9110: HTTP Semantics</a>.</li>
</ul>



<p class="wp-block-paragraph"></p>
<p>The post <a href="https://mobile.fhstp.ac.at/allgemein/designing-offline-first-ios-apps-local-state-persistence-and-sync-without-losing-user-trust/">Designing Offline-First iOS Apps: Local State, Persistence, and Sync Without Losing User Trust</a> appeared first on <a href="https://mobile.fhstp.ac.at">Mobile USTP MKL</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Designing a Calm Planning Experience: From Wireframes to a Coherent Visual Identity</title>
		<link>https://mobile.fhstp.ac.at/ux/design/designing-a-calm-planning-experience-from-wireframes-to-a-coherent-visual-identity/</link>
		
		<dc:creator><![CDATA[Melanie Maier]]></dc:creator>
		<pubDate>Wed, 16 Sep 2026 08:01:13 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Projekte]]></category>
		<category><![CDATA[Studium]]></category>
		<category><![CDATA[User Experience]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[UI-Design]]></category>
		<guid isPermaLink="false">https://mobile.fhstp.ac.at/?p=15911</guid>

					<description><![CDATA[<p>Software projects are often described through architecture, data models, and technical milestones. Interface design tends to appear later in that story, as if it were simply the visible layer added once the important work is complete. During the development of this personal planning app, I experienced almost the opposite. The design process helped define how <a class="read-more" href="https://mobile.fhstp.ac.at/ux/design/designing-a-calm-planning-experience-from-wireframes-to-a-coherent-visual-identity/">[...]</a></p>
<p>The post <a href="https://mobile.fhstp.ac.at/ux/design/designing-a-calm-planning-experience-from-wireframes-to-a-coherent-visual-identity/">Designing a Calm Planning Experience: From Wireframes to a Coherent Visual Identity</a> appeared first on <a href="https://mobile.fhstp.ac.at">Mobile USTP MKL</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Software projects are often described through architecture, data models, and technical milestones. Interface design tends to appear later in that story, as if it were simply the visible layer added once the important work is complete. During the development of this personal planning app, I experienced almost the opposite. The design process helped define how the product should behave, what kind of relationship it should have with its users, and which parts needed to remain simple as the underlying system became more complex.</p>



<p class="wp-block-paragraph">The project is still in development, and its name, complete concept, and current interface are intentionally not public yet. This article therefore does not present a product reveal. Instead, it focuses on the design process between March and August 2026: how the interface developed from functional wireframes into a more coherent visual system, how collaboration influenced the result, and how repeated feedback changed my understanding of clarity, accessibility, and visual identity.</p>



<p class="wp-block-paragraph">The app was developed during the second semester of the Master Interactive Media program. Its technical foundation is an iOS application written in Swift, but this project was mainly concerned with screen design and brand development. The public scope covers the basic screens already named in the development article: home, calendar and list overviews, related detail pages, and forms for calendar entries, list items, and reminders.</p>



<h2 class="wp-block-heading">Beginning with structure</h2>



<figure class="wp-block-image size-large"><img fetchpriority="high" decoding="async" width="1540" height="800" src="https://mobile.fhstp.ac.at/wp-content/uploads/2026/09/Wireframes-1-1540x800.png" alt="" class="wp-image-15921" srcset="https://mobile.fhstp.ac.at/wp-content/uploads/2026/09/Wireframes-1-1540x800.png 1540w, https://mobile.fhstp.ac.at/wp-content/uploads/2026/09/Wireframes-1-770x400.png 770w" sizes="(max-width: 1540px) 100vw, 1540px" /></figure>



<p class="wp-block-paragraph">The first design phase consisted of wireframes for these core functions. At that point, the goal was not to decide on colors, fonts, or icon styles. The wireframes were used to understand information hierarchy and navigation: What should appear first on the home screen? How much information belongs in an overview? When does an item need its own detail page? Which actions should be immediately available, and which can remain one level deeper?</p>



<p class="wp-block-paragraph">This phase was deliberately simple. Boxes represented content areas, placeholder text represented labels, and navigation elements were reduced to their basic purpose. It also exposed how quickly a planning interface can become crowded. Even the basic screens combine dates, titles, statuses, categories, actions, navigation, and secondary information. The home screen needed to offer orientation, overviews had to support scanning, and forms required a more guided rhythm.</p>



<p class="wp-block-paragraph">One important lesson from this stage was that visual hierarchy begins before visual styling. If the structure does not make priorities clear, stronger colors and larger headings only make the confusion more visible. The early wireframes therefore became a reference throughout the later process. Whenever a refined screen started to feel overloaded, I could return to the basic structure and ask whether the added visual elements were supporting the original purpose or competing with it.</p>



<h2 class="wp-block-heading">From wireframes to the first design screens</h2>



<figure class="wp-block-image size-large"><img decoding="async" width="1540" height="800" src="https://mobile.fhstp.ac.at/wp-content/uploads/2026/09/firstDesign-1540x800.png" alt="" class="wp-image-15922" srcset="https://mobile.fhstp.ac.at/wp-content/uploads/2026/09/firstDesign-1540x800.png 1540w, https://mobile.fhstp.ac.at/wp-content/uploads/2026/09/firstDesign-770x400.png 770w" sizes="(max-width: 1540px) 100vw, 1540px" /></figure>



<p class="wp-block-paragraph">The next phase translated the wireframes into the first designed screens. This was the point where the project began to develop a personality. Typography, rounded forms, color relationships, icons, cards, borders, and spacing were introduced. The interface was meant to feel personal and approachable, so the first visual direction leaned strongly toward a playful style.</p>



<p class="wp-block-paragraph">At first, this seemed appropriate. Planning is a daily and personal activity, and a playful interface offered a contrast to the strict appearance of many productivity tools. However, this phase also demonstrated that friendliness and playfulness are not the same thing. As more screens were added, decorative forms, multiple outlines, different icon styles, and expressive typography created too many points of attention. What worked as an isolated detail did not always work as part of a growing system.</p>



<p class="wp-block-paragraph">The first design screens were therefore valuable precisely because they were not final. They made the intended personality visible, but they also revealed where that personality needed more discipline. The project had reached the stage where individual screens could no longer be evaluated only as attractive compositions. They had to work as one product.</p>



<h2 class="wp-block-heading">Collaboration as a design process</h2>



<figure class="wp-block-image size-large"><img decoding="async" width="1540" height="800" src="https://mobile.fhstp.ac.at/wp-content/uploads/2026/09/WhatsApp-Image-2026-08-04-at-16.12.50-1540x800.jpeg" alt="" class="wp-image-15923" srcset="https://mobile.fhstp.ac.at/wp-content/uploads/2026/09/WhatsApp-Image-2026-08-04-at-16.12.50-1540x800.jpeg 1540w, https://mobile.fhstp.ac.at/wp-content/uploads/2026/09/WhatsApp-Image-2026-08-04-at-16.12.50-770x400.jpeg 770w" sizes="(max-width: 1540px) 100vw, 1540px" /></figure>



<p class="wp-block-paragraph">During the visual development, I worked with a graphic design student who was responsible for developing the logo and the custom icons and who also proposed directions for the color concept. She is not named here, but her role in the process was substantial. I acted as the stakeholder for the application: I explained the intended character and requirements, reviewed ideas and intermediate states, and made decisions about how the graphic work should connect to the interface.</p>



<p class="wp-block-paragraph">The collaboration was not organized as a single briefing followed by a finished delivery. She shared sketches, variants, and intermediate states, and we discussed which qualities felt appropriate while the interface itself was evolving. I often approached an element through function: Is the icon understandable? Can the asset be used consistently in Swift? Her perspective added questions of visual rhythm, shape language, balance, and recognition.</p>



<p class="wp-block-paragraph">The logo and icons became important anchors for the emerging identity. Their development introduced more organic forms into a product that still needed a clear structure. This tension became one of the most useful ideas in the project: the interface could be calm and organized without becoming cold, and it could retain distinctive, playful details without allowing every component to become expressive.</p>



<p class="wp-block-paragraph">The color proposals connected the graphic identity to the screen design, but applying a palette to an interface is different from presenting it in a visual study. Colors that look balanced together may not provide enough contrast for text, and a shade that works in an illustration may be too prominent across a large card. The collaboration provided the visual material, while the interface work tested it under practical conditions.</p>



<h2 class="wp-block-heading">Feedback from recurring test users</h2>



<p class="wp-block-paragraph">Alongside the design collaboration, I repeatedly showed the screens to approximately five test users. The group was not statistically representative; its value came from continuity. The same people saw several stages and could react to changes over time.</p>



<p class="wp-block-paragraph">Two issues appeared repeatedly: text was sometimes too small, and the contrast between text and background colors was sometimes too weak. The feedback revealed the difference between designing at full size on a computer and using the result on a phone. A composition can look spacious in a design tool while becoming tiring at actual device size. Because users need to identify dates, items, categories, and actions quickly, readability is part of the core interaction rather than an accessibility layer added later.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="362" height="156" src="https://mobile.fhstp.ac.at/wp-content/uploads/2026/09/Calendar-Card.png" alt="" class="wp-image-15924"/></figure>



<p class="wp-block-paragraph">In response, font sizes were reconsidered, text colors were strengthened, and some relationships between foreground and background were simplified. The process also made me more cautious about using color to create hierarchy. If several shades are close in brightness, they may create a harmonious palette but fail to establish a useful reading order. Contrast has to work both aesthetically and functionally.</p>



<p class="wp-block-paragraph">The users also identified screens that felt too busy even when every individual element was understandable. Familiarity reduces perceived complexity: after working on a screen for a long time, I already know where to look, while a test user does not. The central question gradually changed from whether the design looked friendly to whether it helped users feel oriented.</p>



<h2 class="wp-block-heading">Moving from playful to calm</h2>



<p class="wp-block-paragraph">The strongest change between the first designs and the refined screens was the overall design language. The earlier versions were visibly more playful. Over time, the interface became quieter, clearer, and more structured. This did not mean removing all personality. Instead, playful qualities were concentrated in selected places, particularly in organic forms and custom icon details, while the main layout became more restrained.</p>



<p class="wp-block-paragraph">Color was the most challenging part of this transition. The palette had to communicate warmth and individuality without reducing legibility or making the interface visually heavy. Several versions were needed before the relationship between light surfaces, darker functional elements, and accent colors felt balanced. The final direction is less about using many colors and more about giving each color a clear role.</p>



<p class="wp-block-paragraph">The refinement also affected borders, cards, spacing, and typography. Reducing unnecessary boundaries allowed alignment to do more of the organizational work. Headings, secondary information, form labels, and actionable text received clearer roles. The typeface could support personality, but size, weight, spacing, and contrast had to support usability.</p>



<p class="wp-block-paragraph">The same principle applied to iconography. Custom icons helped preserve the organic and personal character of the project, but an icon family also needs internal rules. Stroke weight, level of detail, filled and outlined states, and the relationship between icon and label all affect consistency. The icon work therefore became more than a collection of illustrations. It became the beginning of a visual grammar.</p>



<h2 class="wp-block-heading">Designing a system rather than isolated screens</h2>



<p class="wp-block-paragraph">By the refinement stage, the screen set included the home screen, calendar and list overviews, calendar and list detail pages, and the add forms for calendar entries, list items, and reminders. Although this remains only the basic functional scope, it is already broad enough to expose inconsistencies. A heading that works on the home screen may occupy too much space in a form. A card that works for an upcoming event may not work for a list item. A navigation control that feels obvious on an overview may be ambiguous on a detail page.</p>



<p class="wp-block-paragraph">This encouraged a more systematic approach. Instead of adjusting every screen independently, I began to think in reusable decisions: spacing intervals, text roles, card behavior, icon states, color functions, and recurring navigation patterns. This is also where the design process connected directly to the Swift implementation. Reusable SwiftUI components are easier to create when the visual rules are clear. Conversely, implementing a component across several screens quickly reveals where a design rule is too specific to one mock-up.</p>



<p class="wp-block-paragraph">The relationship between design and development was iterative. Screens informed the component structure, and implementation challenged the screens. Small differences are easy to draw but harder to justify when they require separate code paths. Variation therefore had to become intentional.</p>



<p class="wp-block-paragraph">The brand book developed alongside this consolidation. It brought together the values, personality, tone of voice, typography, colors, icon principles, and product experience guidelines that had emerged through the previous months. Creating it forced decisions that individual screens could postpone and turned visual preferences into shared rules.</p>



<p class="wp-block-paragraph">The brand identity can be summarized through a few qualities: clear, empathetic, and reliable. These qualities function as design criteria rather than promotional adjectives. Clarity requires an understandable hierarchy. Empathy means avoiding language and interactions that create unnecessary pressure. Reliability includes predictable navigation, legible states, and careful treatment of user data. A distinctive visual style is useful only when it supports these qualities.</p>



<h2 class="wp-block-heading">A cautious look toward adaptive interfaces</h2>



<p class="wp-block-paragraph">One future direction being explored is an adaptive interface. It has not yet been implemented, and the details remain intentionally broad. The basic idea is that the presentation could respond to screen size, accessibility preferences, or explicitly chosen modes instead of showing the same density at all times.</p>



<p class="wp-block-paragraph">However, adaptation creates a design risk. An interface that changes too freely can become difficult to learn and may reduce trust. Important navigation should remain predictable, and users should understand why a view has changed. Suggestions should remain reversible, and the full information should still be accessible. For this project, the most promising principle is therefore not an interface that constantly rearranges itself, but a stable structure with carefully limited adaptive areas.</p>



<p class="wp-block-paragraph">If adaptation is intended to reduce cognitive load, it must not create new uncertainty. Sufficient contrast, consistent controls, and user agency remain more important than novelty. The underlying system has to be stable first.</p>



<h2 class="wp-block-heading">What I learned from the process</h2>



<p class="wp-block-paragraph">Looking back at the period from March to August 2026, the design developed through three broad stages. The first established the functional structure through wireframes. The second introduced a strong but comparatively playful visual direction. The third refined that direction through collaboration, implementation, and feedback until the interface became calmer and more coherent.</p>



<p class="wp-block-paragraph">The process showed me that refinement is not simply the act of making a design more polished. It often requires changing the criteria by which the design is judged. Early in the project, I focused strongly on whether the screens had personality. Later, I evaluated whether that personality supported orientation, readability, and trust. The final direction is not less designed than the first one. It is more selective about where design becomes visible.</p>



<p class="wp-block-paragraph">Recurring feedback also proved valuable even with a small test group. The most important findings were fundamental issues such as text size and contrast. Repetition made them harder to dismiss as individual preference and turned them into priorities. The design collaboration added a dialogue between graphic expression and interaction requirements rather than a simple handover between disciplines.</p>



<p class="wp-block-paragraph">The current design should not be understood as a finished public product. More testing will be necessary on real devices and across different display settings. Accessibility checks must become continuous rather than a final review, and the adaptive interface idea will require careful prototyping.</p>



<p class="wp-block-paragraph">For now, the most important result is a clearer design foundation. The project has moved from a collection of functional screens toward a recognizable system with shared principles. It can remain personal without becoming visually noisy, and it can become more structured without losing its organic character.</p>



<p class="wp-block-paragraph">The complete application is not ready to be revealed, but the development process already offers a useful lesson: a calm interface is not created by simply removing elements or choosing quiet colors. It is created by deciding what deserves attention, testing whether users can recognize it, and refining every visual choice until personality and clarity support each other.</p>



<p class="wp-block-paragraph"></p>
<p>The post <a href="https://mobile.fhstp.ac.at/ux/design/designing-a-calm-planning-experience-from-wireframes-to-a-coherent-visual-identity/">Designing a Calm Planning Experience: From Wireframes to a Coherent Visual Identity</a> appeared first on <a href="https://mobile.fhstp.ac.at">Mobile USTP MKL</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Building a Personal Planning App: From Interface Idea to Data-Driven iOS Prototype</title>
		<link>https://mobile.fhstp.ac.at/allgemein/building-a-personal-planning-app-from-interface-idea-to-data-driven-ios-prototype/</link>
		
		<dc:creator><![CDATA[Melanie Maier]]></dc:creator>
		<pubDate>Wed, 16 Sep 2026 07:37:26 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Native Development]]></category>
		<category><![CDATA[Projekte]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[swift]]></category>
		<guid isPermaLink="false">https://mobile.fhstp.ac.at/?p=15909</guid>

					<description><![CDATA[<p>Software projects often begin with a feature list. This one began with a feeling: everyday planning tools are everywhere, and yet personal organization still often feels fragmented. Calendars live in one place, tasks in another, reminders somewhere else, and the mental work of connecting them is left to the user. The goal of this project <a class="read-more" href="https://mobile.fhstp.ac.at/allgemein/building-a-personal-planning-app-from-interface-idea-to-data-driven-ios-prototype/">[...]</a></p>
<p>The post <a href="https://mobile.fhstp.ac.at/allgemein/building-a-personal-planning-app-from-interface-idea-to-data-driven-ios-prototype/">Building a Personal Planning App: From Interface Idea to Data-Driven iOS Prototype</a> appeared first on <a href="https://mobile.fhstp.ac.at">Mobile USTP MKL</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Software projects often begin with a feature list. This one began with a feeling: everyday planning tools are everywhere, and yet personal organization still often feels fragmented. Calendars live in one place, tasks in another, reminders somewhere else, and the mental work of connecting them is left to the user. The goal of this project was not simply to build another productivity app, but to explore how a planning interface could feel more coherent, calmer, and closer to the way people actually think about their days.</p>



<p class="wp-block-paragraph">The app is still in development, and many of its final ideas are intentionally not public yet. For that reason, this article does not reveal the complete product concept or all planned functionality. Instead, it focuses on the development process so far: how the project evolved from a SwiftUI interface prototype into a more structured iOS application with custom data models, persistent storage, reusable components, and first steps toward external calendar integration.</p>



<p class="wp-block-paragraph">At the beginning, the project was mostly visual and exploratory. The first question was not “Which database should this use?” or “How should synchronization work?” but “What should this feel like on a phone?” Since the app is meant to be used frequently and quickly, the interface had to be approachable without becoming decorative for its own sake. SwiftUI was a natural choice because it allowed fast iteration on layout, navigation, state, and component structure. Early work focused on core screens: a home view, overview pages, detail pages, and small reusable interface elements that could later become the visual language of the app.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1540" height="800" src="https://mobile.fhstp.ac.at/wp-content/uploads/2026/09/Wireframes-1540x800.png" alt="" class="wp-image-15918" srcset="https://mobile.fhstp.ac.at/wp-content/uploads/2026/09/Wireframes-1540x800.png 1540w, https://mobile.fhstp.ac.at/wp-content/uploads/2026/09/Wireframes-770x400.png 770w" sizes="auto, (max-width: 1540px) 100vw, 1540px" /></figure>



<p class="wp-block-paragraph">One of the first lessons was that a planning app becomes complex faster than expected. Even if the user-facing idea sounds simple, the underlying structures are not. A calendar item is not just a title and a date. It may have a start and end time, an all-day state, a location, notes, tags, a source, an editability status, and possibly a connection to another system. A task is also more than a checkbox. It can belong to a list, have a due date, include notes, be marked as important, be connected to a reminder, or later need rules for rescheduling. Reminders introduce yet another rhythm, because they are not exactly tasks and not exactly events. They sit somewhere between intention and interruption.</p>



<p class="wp-block-paragraph">Because of that, the project moved relatively early from screen-building into model-building. Separate structures were created for calendars, events, lists, tasks, reminders, external sources, and calendar connections. This was an important shift. Instead of letting the UI define the data informally, the data model started to define what the interface could reliably express. Each object needed an identity, needed to be encodable, and needed to be flexible enough for future features without becoming vague. This part of the process was less visually exciting than building screens, but it made the rest of the application much more stable.</p>



<p class="wp-block-paragraph">The central data layer became an observable store that holds the current calendars, events, lists, tasks, reminders, and external connections. This store is used throughout the SwiftUI views via environment injection, which keeps the individual screens relatively focused. A home screen can ask for visible calendars, upcoming events, or incomplete tasks without owning all the logic itself. Detail pages can receive a selected object and rely on shared update and delete methods. This architecture is still lightweight, but it creates a clear boundary between application state and presentation.</p>



<p class="wp-block-paragraph">A useful turning point was implementing filtering and derived data. Once there were multiple entities in the store, the app needed answers to questions such as: Which events belong to this calendar? Which tasks belong to this list? Which events are upcoming? Which tasks are incomplete and still relevant? These may sound like small helper functions, but they changed how the app could be built. Instead of each screen duplicating filtering code, the store became the place where the application’s understanding of its data lived. That made the UI easier to read and helped reduce inconsistencies between screens.</p>



<p class="wp-block-paragraph">Another major step was persistence. In early prototypes, sample data is enough. It helps with layout and gives the app something to display. But a planning app cannot remain a prototype for long if data disappears every time it restarts. The current version stores a snapshot of the application data as JSON in the app’s documents directory. The snapshot includes the core collections and can be loaded again when the app starts. The saving process also keeps a backup file, so the app has a fallback if the primary file cannot be read.</p>



<p class="wp-block-paragraph">This persistence system is intentionally simple. It is not yet a large database layer, and that is partly deliberate. At this stage, JSON-based persistence makes the app easier to inspect, debug, and evolve. The project is still changing, and a lighter storage approach gives more freedom while the domain model continues to settle. At the same time, the persistence layer is separated from the store, so replacing or extending it later would not require rewriting the entire UI. This is one of the recurring themes of the project: avoid overengineering too early, but create enough structure that future changes do not become painful.</p>



<p class="wp-block-paragraph">Autosave introduced its own design questions. A planning app should not require the user to manually save after every small change. The current approach listens for changes across the main collections and saves the current snapshot after a short debounce. This means the app can react naturally to edits while avoiding excessive file writes. It also means the development process had to account for state changes that are not user edits, such as loading persisted data at launch. Small flags and guard conditions became necessary to prevent the app from immediately saving over freshly loaded state or treating internal setup as user activity.</p>



<p class="wp-block-paragraph">The interface also evolved significantly during this phase. The app now has a clearer structure of pages and components: overview views, detail views, card components, a navigation bar, headers, picker panels, floating action controls, and shared form elements. This componentization was not just about cleaner code. It also helped the app develop a consistent interaction style. Planning tools can easily become cluttered because they contain many object types and many possible actions. Reusable components make it easier to keep the experience predictable.</p>



<p class="wp-block-paragraph">One example is the creation flow. Adding something new should not feel like entering a completely different app. The current implementation uses a shared sheet for creating or editing different item types. It supports modes for events, tasks, and reminders, with separate draft objects and validation. This draft-based approach is important because forms are temporary by nature. A user can open a sheet, make changes, switch context, cancel, or save. Keeping draft state separate from the saved model avoids accidental writes and makes validation clearer.</p>



<p class="wp-block-paragraph">The form system also revealed how much detail is hidden inside “simple” input. Dates, times, optional fields, associations with calendars or lists, tags, icons, and reminder relationships all require careful handling. If these concerns are spread directly across the view code, the form quickly becomes difficult to maintain. By separating drafts, form rows, picker state, and saving logic, the app gained a structure that can grow without turning every new field into a cascade of fragile changes.</p>



<p class="wp-block-paragraph">Design-wise, the project has been moving toward a custom visual identity rather than relying entirely on default iOS components. Custom fonts, color assets, icons, rounded shapes, and card components give the app a more personal tone. This is not only aesthetic. For a planning tool, visual hierarchy matters. The user should be able to distinguish calendars, lists, upcoming items, actions, and details quickly. Colors and cards are not decoration here; they carry information and help reduce cognitive load.</p>



<p class="wp-block-paragraph">At the same time, building a custom interface in SwiftUI requires restraint. It is tempting to make every component unique, especially in a project that has a strong visual direction. But the more custom the interface becomes, the more responsibility the developer takes on for spacing, accessibility, responsiveness, and consistency. This has been one of the practical challenges of the project: finding the balance between a distinctive interface and a maintainable one. The current component structure is an attempt to make that balance explicit.</p>



<p class="wp-block-paragraph">The most technically demanding part so far has been external calendar integration. Local planning data is one thing; synchronizing with external systems is another. The app now contains service layers for Apple Calendar and Google Calendar, as well as a synchronization service that imports events into the app’s own model. This required thinking about authorization, external identifiers, read-only versus editable sources, date ranges, mapping between API objects and local models, and what should happen when external events change or disappear.</p>



<p class="wp-block-paragraph">Apple Calendar integration uses EventKit and must deal with platform-specific permission states. On newer iOS versions, access levels are more precise, so the app has to request and verify the correct kind of calendar access. The service can list available calendars and load events within a selected time range. These events are then mapped into the app’s internal event model, preserving information such as title, location, notes, URL, start and end date, all-day status, external identity, and sync metadata.</p>



<p class="wp-block-paragraph">Google Calendar integration is different because it goes through Google Sign-In and web API requests. This required handling OAuth scopes, restoring previous sign-in sessions, refreshing access tokens, making authenticated requests, decoding calendar lists and event responses, and converting Google’s date formats into local date values. All-day events need special handling because calendar APIs often represent them differently from timed events. These are the kinds of details that are easy to underestimate before implementation begins.</p>



<p class="wp-block-paragraph">The synchronization layer sits above the individual provider services. It loops through configured external calendar connections, loads events for each connection, imports them, tracks which external IDs were seen, updates sync timestamps, and reports failures. The store then upserts imported events instead of blindly appending them. This prevents duplicates and creates a place to handle conflicts. If a local event has pending changes and an external version arrives, the app can mark the situation as a conflict rather than silently overwriting data. Even though the full synchronization story is not finished, the current structure already reflects a key principle: user data should be treated carefully.</p>



<p class="wp-block-paragraph">This was one of the biggest conceptual lessons of the project. Synchronization is not just a technical feature. It is a trust feature. If users put their plans into an app, they need confidence that the app will not lose, duplicate, or unexpectedly modify important information. That means the code has to represent uncertainty. It needs states such as local-only, synced, pending local changes, conflict, or deleted externally. These states are not glamorous, but they are what make the difference between a demo and a tool people might rely on.</p>



<p class="wp-block-paragraph">Another lesson was that the app’s “domain” became clearer through implementation. At first, calendars, lists, tasks, and reminders may seem like familiar categories. But once they are modeled together, their relationships become more interesting. Some items belong to collections. Some can be associated with time. Some can be completed, others can only pass. Some are imported from outside and should not be edited locally. Some may later need richer rules. The development process has therefore been partly technical and partly analytical: understanding what each object means in the system.</p>



<p class="wp-block-paragraph">The current prototype also includes several navigation paths: a home view with upcoming information, calendar overviews and detail views, list overviews and detail views, event and task detail screens, and setup flows. This breadth created a new kind of challenge. Once the app had more than one or two screens, consistency became harder. A change in the model might affect a card, a detail page, a form, and a preview all at once. This is where reusable view components started to pay off. They made the app feel less like a set of separate screens and more like one coherent product.</p>



<p class="wp-block-paragraph">The project is still in an active development stage. There are visible signs of ongoing refactoring: components have been moved into clearer folders, global elements have been separated from list-specific and calendar-specific components, and some older file paths are being replaced by a more organized structure. This is a normal and healthy part of development. Early prototypes often grow organically. At some point, the structure has to catch up with the idea. The important part is not to make the architecture perfect immediately, but to keep improving it when the project’s shape becomes clearer.</p>



<p class="wp-block-paragraph">Looking back, the development so far can be described in phases. The first phase was interface exploration: building enough screens to understand the experience. The second phase was domain modeling: defining the objects the app actually needs. The third phase was state and persistence: making the app remember and update data reliably. The fourth phase was integration: connecting the local world of the app with external calendar systems. The current phase is consolidation: refining components, improving flows, reducing duplication, and preparing the project for more advanced behavior.</p>



<p class="wp-block-paragraph">For a student or early-stage software project, this progression is valuable because it shows how practical software development rarely follows a perfectly linear plan. The app did not begin with a complete architecture diagram and then simply fill in the pieces. Instead, each implementation step revealed the next architectural need. A form revealed the need for drafts. External calendars revealed the need for source metadata and sync states. Autosave revealed the need to distinguish loading from editing. Reusable cards revealed the need for stronger model relationships. The architecture emerged through contact with the problem.</p>



<p class="wp-block-paragraph">There is also a broader lesson about building products that are not ready to be fully disclosed. It can be difficult to talk about a project publicly when the most exciting parts are still private. But not every development story has to reveal the final product. It is possible to discuss the engineering process, the technical decisions, the mistakes avoided, and the problems encountered without giving away the complete concept. In some ways, this is more useful for an informatics audience. The real value is not only in what the app will eventually do, but in how the system is being shaped to make that possible.</p>



<p class="wp-block-paragraph">The next steps will likely focus on stability, refinement, and careful expansion. The persistence system will need to remain reliable as the data model grows. Synchronization will need more testing, especially around conflicts and edge cases. The interface will need continued polishing across different device sizes and user scenarios. Some flows that currently exist as early implementations will need to become more robust. And as the app moves closer to a publishable version, privacy, permissions, error handling, and user trust will become even more important.</p>



<p class="wp-block-paragraph">What makes this project interesting is that it sits at the intersection of design, data modeling, and everyday behavior. A planning app is not just a technical container for events and tasks. It is a tool that asks to be invited into a user’s routine. That creates a high bar: the app has to be useful without being noisy, structured without being rigid, and personal without becoming confusing. Reaching that balance takes iteration.</p>



<p class="wp-block-paragraph">So far, the development has already moved beyond a simple prototype. The app has a working SwiftUI foundation, a growing design system, structured models, persistent local data, reusable creation flows, and initial external calendar synchronization. More importantly, it has a clearer sense of direction. The final product is not ready to be revealed yet, but the development process has already shown what kind of challenge this is: not merely building screens, but building a coherent planning environment one careful layer at a time.</p>



<p class="wp-block-paragraph"></p>
<p>The post <a href="https://mobile.fhstp.ac.at/allgemein/building-a-personal-planning-app-from-interface-idea-to-data-driven-ios-prototype/">Building a Personal Planning App: From Interface Idea to Data-Driven iOS Prototype</a> appeared first on <a href="https://mobile.fhstp.ac.at">Mobile USTP MKL</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>My Life Planning App: Semester One Progress</title>
		<link>https://mobile.fhstp.ac.at/allgemein/my-life-planning-app-semester-one-progress/</link>
		
		<dc:creator><![CDATA[Melanie Maier]]></dc:creator>
		<pubDate>Wed, 21 Jan 2026 10:42:12 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[firebase]]></category>
		<category><![CDATA[h2]]></category>
		<category><![CDATA[ionic]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[nest]]></category>
		<category><![CDATA[React]]></category>
		<category><![CDATA[Web-App]]></category>
		<guid isPermaLink="false">https://mobile.fhstp.ac.at/?p=15292</guid>

					<description><![CDATA[<p>As my project in the first semester, I set out to develop a life planning application that allows users to organize their schedules, manage events and track important dates. The scope for this initial phase was clear: implement a functional login and registration system, create a working calendar where you can add and delete events <a class="read-more" href="https://mobile.fhstp.ac.at/allgemein/my-life-planning-app-semester-one-progress/">[...]</a></p>
<p>The post <a href="https://mobile.fhstp.ac.at/allgemein/my-life-planning-app-semester-one-progress/">My Life Planning App: Semester One Progress</a> appeared first on <a href="https://mobile.fhstp.ac.at">Mobile USTP MKL</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">As my project in the first semester, I set out to develop a life planning application that allows users to organize their schedules, manage events and track important dates. The scope for this initial phase was clear: implement a functional login and registration system, create a working calendar where you can add and delete events and create the design &amp; operations concept for the app.</p>



<h2 class="wp-block-heading">Tools and Technologies</h2>



<p class="wp-block-paragraph">To achieve this, I used a combination of modern frontend and backend technologies:</p>



<ul class="wp-block-list">
<li><strong>Frontend:</strong> Ionic + React – for building a responsive, mobile-friendly user interface.</li>



<li><strong>Backend:</strong> NestJS – providing a structured, scalable server-side environment.</li>



<li><strong>Database:</strong> H2 Database – a lightweight, in-memory database perfect for rapid development.</li>



<li><strong>Authentication:</strong> Firebase – managing user registration and login securely.</li>
</ul>



<h2 class="wp-block-heading">Semester One Scope</h2>



<p class="wp-block-paragraph">The goals for the first semester were:</p>



<ol class="wp-block-list">
<li><strong>User Authentication:</strong><br>I implemented login and registration using Firebase, ensuring that users can securely create accounts and access the app.</li>



<li><strong>Calendar Functionality:</strong><br>The app includes a fully functional calendar where users can <strong>add and delete events</strong>. The frontend and backend are already connected, and event indicators show which days have events saved. While this feature is partially complete, it’s already providing visual cues in the calendar.</li>



<li><strong>Design and Operations Concept:</strong><br>I developed a design and operations concept to guide future development. While the app’s visual design is not yet finalized, the underlying structure is ready to support it.</li>
</ol>



<h2 class="wp-block-heading">Going Beyond the Initial Scope</h2>



<p class="wp-block-paragraph">In addition to the semester goals, I implemented several features that extend the app’s functionality:</p>



<ul class="wp-block-list">
<li><strong>Edit Events:</strong> Users can now update existing events directly in the calendar.</li>



<li><strong>Navigation Bar:</strong> A fully implemented navigation bar allows seamless movement between different parts of the app.</li>



<li><strong>Indicators for Events:</strong> The calendar partially highlights days with saved events, providing a quick visual overview.</li>
</ul>



<h2 class="wp-block-heading">What’s Next</h2>



<p class="wp-block-paragraph">While the first semester focused on functionality, the final design and advanced features are planned for upcoming phases. Future improvements will include:</p>



<ul class="wp-block-list">
<li>Completing the event indicators in the calendar.</li>



<li>Finalizing the app’s visual design to match the conceptual layout.</li>



<li>Adding additional features to enhance user experience and usability.</li>
</ul>



<p class="wp-block-paragraph">Overall, the first semester successfully laid the foundation for a robust, scalable life planning application. With both front- and backend connected and key features implemented, the project is well on its way to becoming a full-fledged productivity tool.</p>
<p>The post <a href="https://mobile.fhstp.ac.at/allgemein/my-life-planning-app-semester-one-progress/">My Life Planning App: Semester One Progress</a> appeared first on <a href="https://mobile.fhstp.ac.at">Mobile USTP MKL</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>SOTA &#124; State of the art of Multimodal Mobile Stress Detection</title>
		<link>https://mobile.fhstp.ac.at/allgemein/sota-state-of-the-art-of-multimodal-mobile-stress-detection/</link>
		
		<dc:creator><![CDATA[Melanie Maier]]></dc:creator>
		<pubDate>Wed, 21 Jan 2026 10:22:19 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[multimodal]]></category>
		<category><![CDATA[SOTA]]></category>
		<category><![CDATA[stressdetection]]></category>
		<guid isPermaLink="false">https://mobile.fhstp.ac.at/?p=15234</guid>

					<description><![CDATA[<p>Evaluating Multimodal Sensor Fusion, Machine Learning Models and&#160;Mobile Feasibility in Stress Detection Systems&#160; Abstract &#160;Over the last few years, mobile and wearable stress detection has evolved rapidly. This is due to maturing of sensor technology, machine learning (ML) and multimodal fusion strategies. Todays fast paced world critically increases stress-induced illnesses, therefor stress detection becomes more <a class="read-more" href="https://mobile.fhstp.ac.at/allgemein/sota-state-of-the-art-of-multimodal-mobile-stress-detection/">[...]</a></p>
<p>The post <a href="https://mobile.fhstp.ac.at/allgemein/sota-state-of-the-art-of-multimodal-mobile-stress-detection/">SOTA | State of the art of Multimodal Mobile Stress Detection</a> appeared first on <a href="https://mobile.fhstp.ac.at">Mobile USTP MKL</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">Evaluating Multimodal Sensor Fusion, Machine Learning Models and&nbsp;Mobile Feasibility in Stress Detection Systems&nbsp;</h2>



<h3 class="wp-block-heading">Abstract</h3>



<p class="wp-block-paragraph">&nbsp;Over the last few years, mobile and wearable stress detection has evolved rapidly. This is due to maturing of sensor technology, machine learning (ML) and multimodal fusion strategies. Todays fast paced world critically increases stress-induced illnesses, therefor stress detection becomes more and more important. This State-of-the-Art article critically compares 11 recent and influential papers (2022-2025) about multimodal stress detection.&nbsp;</p>



<p class="wp-block-paragraph">The analysis examines datasets, preprocessing strategies, fusion architecture, machine learning approaches, evaluation protocols and the extent, to which current models are feasible for real-world mobile deployment. Findings reveal strong progress in multimodal fusion and deep learning, but limited attention to on-device constraints, poor cross-subject generalization, and an overreliance on laboratory datasets. Clear research gaps and design recommendations are identified to guide future work toward robust, scalable, and ecologically valid mobile stress-detection systems.&nbsp;</p>



<h2 class="wp-block-heading">&nbsp;<strong>KEYWORDS&nbsp;</strong></h2>



<p class="wp-block-paragraph">Stress Detection, Mobile, Machine Learning, Sensors, Mobile Feasibility&nbsp;</p>



<h2 class="wp-block-heading"><strong>1 Introduction&nbsp;</strong></h2>



<p class="wp-block-paragraph">Stress is a multidimensional physiological and psychological response involving changes in the autonomic nervous system, endocrine activity, metabolism, behavior, cognition and movement. As of today, wearables, like smartwatches, enabled continuous monitoring of the human physiological state (Zhao, Masood, &amp; Ning, 2025). Wearables and mobile sysrems have shown to be promising platforms for continuous stress monitoring due to high user acceptance, broad availability and the increasing fidelity of embedded sensors.&nbsp;</p>



<p class="wp-block-paragraph">However, mobile stress detection in real-world settings remains challenging. Signals from wearable sensors are easily affected by motion artifacts, environment conditions, sensor placement variability and individual physiological differences. Approaches that rely on a single sensor, such as PPG (detects changes in blood volume using a pulse oximeter) or EDA (measures the electrical conductivity of the skin) generally struggle with robustness under real-world conditions.&nbsp;</p>



<p class="wp-block-paragraph">Multimodal stress detection attempts to resolve this by combining heterogenous sensor modalities (e.g. PPG, EDA, ACC, Temp). The resulting sensor fusion pipelines can capture complementary aspects of the stress response), making them more reliable and generalizable. </p>



<p class="wp-block-paragraph">This SOTA analyzes eleven key papers from 2022-2025, comparing their multimodality, ML models, fusion techniques, dataset characteristics and mobile feasibility. The goal is to build a structured understanding of the field’s strengths, limitations and future directions.&nbsp;</p>



<h2 class="wp-block-heading"><strong>2 Multimodal Datasets and Data Characteristics&nbsp;</strong></h2>



<p class="wp-block-paragraph">Multimodal Datasets are datasets that contain multiple types of data (modalities) collected from different sources, in this case different sensors. Instead of relying on one kind of information multimodal datasets combine several complementary data types to provide a richer and more robust understanding of whatever is studied. Each analyzed paper was either based on an established or a custom dataset.&nbsp;</p>



<h3 class="wp-block-heading"><strong>2.1 WESAD as the benchmark&nbsp;</strong></h3>



<p class="wp-block-paragraph">5 of the reviewed papers make use of the WESAD dataset. It’s a laboratory-based multimodal dataset capturing EDA, ECG, BVP/PPG, accelerometer data, respiration, EMG and skin temperature during a Trier Social Stress Test (TSST) scenario. </p>



<p class="wp-block-paragraph">It provides a broad set of sensor data connected to stress and therefore allows for recognition of stress in individuals using a combination of data inputs.&nbsp;</p>



<p class="wp-block-paragraph">Despite its popularity, WESAD has key limitations:&nbsp;</p>



<ul class="wp-block-list">
<li>Only 15 subjects </li>



<li>Heavily lab-controlled </li>



<li>Limited ecological validity </li>
</ul>



<p class="wp-block-paragraph">Nevertheless, its multimodal nature makes it valuable for fusion research.&nbsp;</p>



<h3 class="wp-block-heading"><strong>2.2 Rare real-world datasets&nbsp;</strong></h3>



<p class="wp-block-paragraph">Only two studies (Islam &amp; Washington, 2023) (Darwish, et al., 2025) include real-life data. These capture stress under natural conditions (e.g daily life, workload), but suffer from event uncertainty, self-report noise and device variability.&nbsp;</p>



<h3 class="wp-block-heading"><strong>2.3 Emerging multimodal datasets&nbsp;</strong></h3>



<p class="wp-block-paragraph">A major 2025 contribution is EmpathicSchool (Hosseini, et al., 2025)which is a large multimodal dataset. It combines:&nbsp;</p>



<ul class="wp-block-list">
<li>Facial video </li>



<li>PPG, ECG, EDA </li>



<li>Accelerometer </li>



<li>Structured academic stressors </li>
</ul>



<p class="wp-block-paragraph">This dataset expands the field toward a richer and visually enhanced multimodality, though it’s not yet optimized for mobile devices.&nbsp;</p>



<h2 class="wp-block-heading"><strong>3 Preprocessing and Feature Engineering&nbsp;</strong></h2>



<p class="wp-block-paragraph">Preprocessing and Feature Engineering are two essential steps in machine learning, that transform raw data from datasets into a form that machine learning models can understand and learn from effectively. They happen before training the model and often determine whether the model performs poorly or achieves the desired results. </p>



<p class="wp-block-paragraph">The analyzed papers have shown that most studies follow a consistent preprocessing pipeline:&nbsp;</p>



<ol class="wp-block-list">
<li>Signal cleaning through band-pass filtering or artifact removal: </li>



<li>Normalization: </li>



<li>Segmentation (typical window sizes 30-60 seconds) </li>



<li>Feature extraction: Physiological: HRV metrics, EDA peaks, spectral features </li>



<li>Behavioral: ACC-derived activity levels </li>



<li>Visual: CNN-extracted features </li>



<li>Contextual: metadata, event labels </li>



<li></li>
</ol>



<p class="wp-block-paragraph">A reoccurring issue is inconsistent preprocessing documentation, which reduces transparency and reproducibility. Only a few papers (e.g. (Md Santo, et al., 2025) (Zhao, Masood, &amp; Ning, 2025)) describe their pipelines in sufficient detail for replication.&nbsp;</p>



<h2 class="wp-block-heading"><strong>4 Multimodal Fusion Strategies&nbsp;</strong></h2>



<p class="wp-block-paragraph">Fusion strategies define how different modalities are combined to yield a stress prediction. Three main paradigms dominate.&nbsp;</p>



<h3 class="wp-block-heading"><strong>4.1 Early Fusion&nbsp;</strong></h3>



<p class="wp-block-paragraph">Early fusion means that features or raw data are chained before feeding them to a model.&nbsp;</p>



<p class="wp-block-paragraph">Advantages: simple, efficient&nbsp;</p>



<p class="wp-block-paragraph">Disadvantages: sensitive to missing modalities&nbsp;</p>



<p class="wp-block-paragraph">Used in:&nbsp;</p>



<ol class="wp-block-list">
<li>TEANet (Md Santo, et al., 2025) </li>



<li>Image-encoding CNN models (Ghosh, Kim, Ijaz, Singh, &amp; Mahmud, 2022) </li>
</ol>



<h3 class="wp-block-heading"><strong>4.2 Late Fusion&nbsp;</strong></h3>



<p class="wp-block-paragraph">Late fusion means that each modality is processed independently and then predictions are combined.&nbsp;</p>



<p class="wp-block-paragraph">Advantages: robust to missing or weak signals&nbsp;</p>



<p class="wp-block-paragraph">Disadvantages: limited modeling of cross-modality relationships&nbsp;</p>



<p class="wp-block-paragraph">Used in:&nbsp;</p>



<ul class="wp-block-list">
<li>From lab to real-life (Darwish, et al., 2025) </li>



<li>EmpathicSchool Dataset (Hosseini, et al., 2025) </li>
</ul>



<p class="wp-block-paragraph"><strong>4.3 Hybrid / Cross-Modality Fusion&nbsp;</strong></p>



<p class="wp-block-paragraph">In hybrid or cross-modality fusion, ML models learn relationships between modalities through different methods, e.g.:&nbsp;</p>



<ul class="wp-block-list">
<li>Transformer cross-attention (Oliver &amp; Dakshit, 2025) </li>



<li>Privileged modality learning (Zhao, Masood, &amp; Ning, 2025) </li>



<li>Context-aware adaptive fusion (Rashid, Mortlock, &amp; Al Faruque, 2023) </li>
</ul>



<p class="wp-block-paragraph">These methods achieve the best results but also have the highest computational cost, making mobile deployment difficult without compression techniques.&nbsp;</p>



<h2 class="wp-block-heading"><strong>5 Machine Learning Model Landscape&nbsp;</strong></h2>



<h3 class="wp-block-heading"><strong>5.1 Classical ML&nbsp;</strong></h3>



<p class="wp-block-paragraph">Classical machine learning models are for example Random Forests, SVMs and logistic regression. They:&nbsp;</p>



<ul class="wp-block-list">
<li>Have low computational cost </li>



<li>Depend on hand-crafted features and </li>



<li>Are less effective on high-dimensional multimodal signals </li>
</ul>



<p class="wp-block-paragraph">An example for such a ML model would be the Global HRV + RF model (Dahal, Bogue-Jimenez, &amp; Doblas, 2023). It demonstrates a high mobile feasibility but low multimodal richness.&nbsp;</p>



<h3 class="wp-block-heading"><strong>5.2 Deep Learning Models&nbsp;</strong></h3>



<p class="wp-block-paragraph">The analyzed studies have shown different sorts of deep learning models:&nbsp;</p>



<p class="wp-block-paragraph"><em>5.2.1 CNNs and CNN-LSTM hybrids. </em>CNN (Convolutional Neural Network) is a deep learning model originally developed for images but widely used for signal processing. CNN-LSTM combines that with a Long Short-Term Memory network for modeling long-term time dependencies. That means that a CNN captures instant patterns and LSTM captures temporal evolution across windows. </p>



<p class="wp-block-paragraph">Strength: automatic feature extraction&nbsp;</p>



<p class="wp-block-paragraph">Weakness: mobile computational limitations&nbsp;</p>



<p class="wp-block-paragraph"><em>5.2.2 Transformers. </em>Transformers are a deep learning architecture designed to handle sequences of data (like language, signals, video, sensor time series). They learn global structure while CNNs learn local features and LSTMs learn sequential dependencies. They outperform RNNs and CNNs in cross-modality modeling (Oliver &amp; Dakshit, 2025). They are based on self attention, a mechanism that allows the model to look at any part of the input at any time, and parallel processing, which lets them process all time steps simultaneously, not one-by-one. This makes them extremely fast on GPUs and very good for long signals, multimodal fusion, cross-modal attention (Oliver &amp; Dakshit, 2025) and complex temporal patterns. However, they have a high memory footprint, high inference latency and therefore are unsuitable for on-device execution without quantization or pruning. </p>



<p class="wp-block-paragraph"><em>5.2.3 Self-Supervised Learning. </em>Self-Supervised Learning is an approach in which the model derives its own learning objectives from the data in order to learn useful representations, without relying on costly human-labeled data. It is particularly powerful when large amounts of unlabeled data are available, as is often the case with physiological or sensor-based stress data. Islam and Washington show that SSL pretraining significantly improves person-specific stress detection, reducing training data requirements (Islam &amp; Washington, 2023). </p>



<p class="wp-block-paragraph"><em>5.2.4 Autoencoders. </em>Autoencoders are a class of neural networks designed to learn efficient representations of data, typically for purposes like dimensionality reduction, feature learning, or denoising. They are self-supervised in nature because they use the input data itself as the target for training, meaning no external labels are required. TEANet (Md Santo, et al., 2025) uses a transpose-enhanced autoencoder for feature compression, promising for low-resource mobile inference. </p>



<h2 class="wp-block-heading"><strong>6 Mobile Feasibility Analysis&nbsp;</strong></h2>



<p class="wp-block-paragraph">Mobile Feasibility refers to whether a machine-learning model and sensor setup, a stress-detection system, can realistically run on a mobile device such as:&nbsp;</p>



<ul class="wp-block-list">
<li>A smartphone </li>



<li>A smartwatch </li>



<li>A fitness tracker </li>



<li>An embedded IoT health device </li>
</ul>



<p class="wp-block-paragraph">A crucial dimension often missing in published research is evaluation on actual mobile or wearable hardware.&nbsp;</p>



<p class="wp-block-paragraph">From the papers analyzed:&nbsp;</p>



<ul class="wp-block-list">
<li>None provide full mobile benchmarking such as latency, battery and resource usage </li>



<li>Only 3 report any on-device considerations </li>
</ul>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td><strong>Paper / Study&nbsp;</strong></td><td><strong>Sensors Used for Training&nbsp;</strong></td><td><strong>Sensors Required at Deployment (Inference)&nbsp;</strong></td><td><strong>Comment&nbsp;</strong></td></tr><tr><td>PULSE (Zhao, Masood, &amp; Ning, 2025)&nbsp;</td><td>EDA, PPG/BVP, ECG, ACC, Temperature&nbsp;</td><td>PPG + ACC only (EDA used only during training)&nbsp;</td><td>Privileged knowledge transfer enables strong sensor reduction&nbsp;</td></tr><tr><td>TEANet (Md Santo, et al., 2025)&nbsp;</td><td>PPG/BVP, EDA, ACC&nbsp;</td><td>PPG/BVP + ACC&nbsp;</td><td>EDA used for reconstruction during training; not required at inference&nbsp;</td></tr><tr><td>Cross-Modality Transformer (Oliver &amp; Dakshit, 2025)&nbsp;</td><td>ECG, EDA, EMG, RESP, TEMP, ACC&nbsp;</td><td>All modalities required&nbsp;</td><td>No sensor reduction, computationally heavy&nbsp;</td></tr><tr><td>Individualized SSL (Islam &amp; Washington, 2023)&nbsp;</td><td>HRV (ECG/PPG), EDA, ACC&nbsp;</td><td>HRV + ACC&nbsp;</td><td>EDA optional; personalization reduces training burden&nbsp;</td></tr><tr><td>SELF-CARE (Rashid, Mortlock, &amp; Al Faruque, 2023)&nbsp;</td><td>PPG, EDA, ACC, contextual signals (GPS, phone logs)&nbsp;</td><td>PPG + ACC + contextual signals&nbsp;</td><td>EDA helpful but optional, high sensor complexity&nbsp;</td></tr><tr><td>From Lab to Real-Life (Darwish, et al., 2025)&nbsp;</td><td>PPG, EDA, ACC&nbsp;</td><td>PPG + ACC&nbsp;</td><td>Classical ML models, mobile-feasible&nbsp;</td></tr><tr><td>Image-Encoding CNN (Ghosh, Kim, Ijaz, Singh, &amp; Mahmud, 2022)&nbsp;</td><td>PPG, EDA, ECG&nbsp;</td><td>PPG + EDA + ECG&nbsp;</td><td>No reduction, image-encoding pipeline requires all modalities&nbsp;</td></tr><tr><td>Global HRV + RF (Dahal, Bogue-Jimenez, &amp; Doblas, 2023)&nbsp;</td><td>ECG-derived HRV features&nbsp;</td><td>ECG or PPG HRV only&nbsp;</td><td>Only true single-sensor solution&nbsp;</td></tr><tr><td>EmpathicSchool (Hosseini, et al., 2025)&nbsp;</td><td>Facial video, EDA, ECG, PPG, ACC&nbsp;</td><td>Video + physiological signals&nbsp;</td><td>Very sensor-intensive, not suitable for mobile deployment&nbsp;</td></tr><tr><td>Stressor Type Matters (Prajod, Mahesh, &amp; André, 2024)&nbsp;</td><td>ECG, EDA, ACC, RESP&nbsp;</td><td>All modalities required&nbsp;</td><td>Focus on generalization, no deployment optimization </td></tr></tbody></table></figure>



<p class="wp-block-paragraph">Table 1: Training and Deployment Sensors </p>



<h3 class="wp-block-heading"><strong>6.1 Critical barriers&nbsp;</strong></h3>



<p class="wp-block-paragraph">The analyzed studies have shown that there are the following critical barriers for the mobile feasibility of the presented stress-detection systems:&nbsp;</p>



<ol class="wp-block-list">
<li>Large model sizes (Transformers, CNN-LSTM hybrids)</li>



<li>High inference latency for multimodal pipelines</li>



<li>Sensor synchronization issues in mobile settings</li>



<li>Energy consumption rarely measured</li>



<li>Multimodal dropout (missing modalities in real life)</li>
</ol>



<h3 class="wp-block-heading"><strong>6.2 Promising mobile-oriented techniques&nbsp;</strong></h3>



<p class="wp-block-paragraph">There are still some promising mobile-oriented techniques:&nbsp;</p>



<ol class="wp-block-list">
<li>Model compression (quantization, pruning)</li>



<li>Teacher-student learning (Zhao, Masood, &amp; Ning,2025)</li>



<li>Lightweight multimodal autoencoders (Md Santo, et al.,2025)</li>



<li>Contextual gating (Rashid, Mortlock, &amp; Al Faruque,2023)</li>
</ol>



<p class="wp-block-paragraph">These approaches are promising but still underexplored.&nbsp;</p>



<h2 class="wp-block-heading"><strong>7 Key Comparative Insights&nbsp;</strong></h2>



<p class="wp-block-paragraph">Across the reviewed studies, five clear patterns emerge:&nbsp;</p>



<ol class="wp-block-list">
<li>Multimodal fusion consistently outperformsunimodal approaches, but its computational cost isrestrictive for mobile implementation</li>



<li>Cross-subject generalization remains weak, person-specific models still perform better</li>



<li>Transformer architectures lead in accuracy, butremain unsuitable for real-time mobile inferencewithout compression</li>



<li>Real-world datasets are severely lacking, leading tolimiting ecological validity</li>



<li>Mobile feasibility is the largest research gap, almostentirely unaddressed in current literature</li>
</ol>



<h2 class="wp-block-heading"><strong>8 Research Gaps and Future Directions&nbsp;</strong></h2>



<ol class="wp-block-list">
<li>Multimodal real-world datasets. The field urgentlyneeds datasets collected under natural conditions, withmotion artifacts, lighting changes and real-worldstressors to test stress-detection systems under realconditions.</li>



<li>Standardization of preprocessing pipelines. Currentinconsistency makes cross-paper comparisonsunreliable.</li>



<li>Explicit modeling of modality dropout. In mobilecontexts, sensors fail frequently.</li>



<li>Energy-aware model design. Most publishedarchitectures are unfitting for wearables.</li>



<li>Fairness and personalization. Little work exists onhow stress-detection performance varies across gender,age, or physiology.</li>



<li>Cross-dataset generalizability. Transfer learning anddomain adaptation are required for practical real-worlddeployment.</li>
</ol>



<h2 class="wp-block-heading"><strong>9 Conclusion&nbsp;</strong></h2>



<p class="wp-block-paragraph">Multimodal mobile stress detection is progressing rapidly, particularly in fusion architectures and learning models. However, the field remains dominated by laboratory datasets and computationally expensive models. Practical mobile feasibility, real-world robustness, subject variability and missing-modality sensitivity are insufficiently addressed. Future research must integrate lightweight multimodal models, mobile-optimized architectures and real-world datasets to build usable, scalable and ethically sound stress-detection systems.</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td><strong>Study&nbsp;</strong></td><td><strong>Dataset&nbsp;</strong></td><td><strong>Modalities Used&nbsp;</strong></td><td><strong>Fusion Type&nbsp;</strong></td><td><strong>ML Model&nbsp;</strong></td><td><strong>Metrics&nbsp;</strong></td><td><strong>Mobile Feasibility&nbsp;</strong></td><td><strong>Key Limitation&nbsp;</strong></td></tr><tr><td>PULSE (Zhao, Masood, &amp; Ning, 2025)&nbsp;</td><td>WESAD (and derivatives)&nbsp;</td><td>EDA, ECG, BVP/PPG, ACC, Temperature&nbsp;</td><td>Privileged modality (teacher-student) fusion&nbsp;</td><td>Deep Learning (teacher-student privileged knowledge transfer)&nbsp;</td><td>Accuracy, F1-score&nbsp;</td><td>Medium (model compression intended; not fully evaluated on-device)&nbsp;</td><td>Small lab dataset; EDA required during training; limited real-world evaluation&nbsp;</td></tr><tr><td>TEANet (Md Santo, et al., 2025)&nbsp;</td><td>WESAD&nbsp;</td><td>BVP/PPG, EDA, ACC&nbsp;</td><td>Early fusion (feature-level); autoencoder compression&nbsp;</td><td>Transpose-enhanced Autoencoder (DL)&nbsp;</td><td>Accuracy, F1-score, Kappa&nbsp;</td><td>Medium (feature compression promising; no full mobile benchmark)&nbsp;</td><td>Limited reporting on multimodality and energy/latency metrics&nbsp;</td></tr><tr><td>Cross-Modality Investigation (Oliver &amp; Dakshit, 2025)&nbsp;</td><td>WESAD&nbsp;</td><td>ECG, EDA, EMG, RESP, TEMP, ACC&nbsp;</td><td>Attention-based cross-modality fusion (Transformer)&nbsp;</td><td>Transformer (cross-modal)&nbsp;</td><td>Accuracy, F1-score&nbsp;</td><td>Low (high compute &amp; memory; not mobile-friendly)&nbsp;</td><td>High computational cost; lacks on-device evaluation&nbsp;</td></tr><tr><td>Individualized SSL (Islam &amp; Washington, 2023)&nbsp;</td><td>Custom wearable + phone (real-world)&nbsp;</td><td>HRV (from PPG/ECG), EDA, ACC&nbsp;</td><td>Late fusion (separate encoders, combined features)&nbsp;</td><td>Self-Supervised Learning encoder + classifier</td><td>F1-score, ROC-AUC&nbsp;</td><td>Medium (personalized models reduce data needs; mobile deployment possible but not fully demonstrated)&nbsp;</td><td>Less generalizable across users; requires SSL pretraining </td></tr><tr><td>SELF-CARE (Rashid, Mortlock, &amp; Al Faruque, 2023) <br></td><td>Custom context-aware dataset <br></td><td>PPG, EDA, ACC, contextual sensors (phone logs/GPS) <br></td><td>Hybrid/adaptive fusion (context-aware gating) <br></td><td>DNN + context module (hybrid) <br></td><td>Accuracy, F1-score <br></td><td>Accuracy, F1-score <br>Medium (adaptive methods promising; requires many sensors) </td><td>High system complexity; many sensors reduce deployability </td></tr><tr><td>From Lab to Real-Life (Darwish, et al., 2025) <br></td><td>Wearable study (lab + real-world) <br></td><td>PPG, EDA, ACC <br></td><td>Late fusion (decision-level aggregation) <br></td><td>Classical ML (Random Forest, SVM) and simple ensembles <br></td><td>Accuracy (real-world vs lab comparisons) <br></td><td>High (simpler models validated in real-world; low latency/energy reported) </td><td>Decrease in accuracy in wild conditions; device variability <br></td></tr><tr><td>Image-encoding CNN (Prajod, Mahesh, &amp; André, 2024) <br></td><td>WESAD + other datasets <br></td><td>PPG, EDA, ECG (time series encoded as images) <br></td><td>Early fusion via image-encoding (GAF/Recurrence plots) </td><td>CNN on image-encoded signals <br></td><td>Accuracy <br></td><td>Low (image encoding + CNN pipeline is compute-heavy) <br></td><td>Complex pipeline; not optimized for on-device inference </td></tr><tr><td>Global HRV + RF (Dahal, Bogue-Jimenez, &amp; Doblas, 2023) <br></td><td>Custom HRV dataset (real-world) <br></td><td>HRV only (ECG-derived features) <br></td><td>Single-modality (no fusion) <br></td><td>Random Forest (classical ML) <br></td><td>Accuracy, F1-score <br></td><td>High (lightweight; mobile-ready) <br></td><td>Limited to HRV signal; lacks multimodal robustness <br></td></tr><tr><td>Recent Advances Review (Ghonge, Shukla, Pradeep, &amp; Solanki, 2025) </td><td>Multiple (review) <br></td><td>Multiple (physiological, contextual, visual) <br></td><td>Survey of fusion strategies (various) <br></td><td>Survey (various ML/DL approaches) <br></td><td>N/A (review) <br></td><td>N/A (review paper; discusses feasibility conceptually) <br></td><td>Not empirical; synthesizes literature only <br></td></tr><tr><td>EmpathicSchool (Hosseini, et al., 2025) </td><td>EmpathicSchool (new multimodal dataset) </td><td>Facial video, EDA, ECG, PPG, ACC <br></td><td>Late multimodal fusion (visual + physiological) <br></td><td>CNN (visual) + physiological models; late fusion <br></td><td>Accuracy, F1-score <br></td><td>Low (video processing heavy; not optimized for wearables) </td><td>High sensor cost and compute; limited mobile applicability <br></td></tr><tr><td>Stressor Type Matters (Prajod, Mahesh, &amp; André, 2024) </td><td>WESAD + multiple datasets (cross-dataset) </td><td>ECG, EDA, ACC, RESP (varies) <br></td><td>Analysis of modelling factors; mixed approaches <br></td><td>Mixed (classical ML + DL experiments) <br></td><td>Accuracy, F1-score (cross-dataset evaluation) <br></td><td>Low (study highlights generalization issues; no mobile eval) </td><td>Poor cross-dataset generalization; stressor sensitivity <br></td></tr></tbody></table></figure>



<p class="wp-block-paragraph">Table 1: Overview of reviewed Studies</p>



<h2 class="wp-block-heading"><strong>REFERENCES&nbsp;</strong></h2>



<p class="wp-block-paragraph">[1]Dahal, K., Bogue-Jimenez, B., &amp; Doblas, A. (2023). Global Stress DetectionFramework Combining a Reduced Set of HRV Features and Random Forest Model. Sensors, Basel, Switzerland. doi:https://doi.org/10.3390/s23115220</p>



<p class="wp-block-paragraph">[2] Darwish, B. A., Rehman, S. U., Sadek, I., Salem, N. M., Karee,, G., &amp; Mahmoud, L. N. (2025). From lab to real-life: A three-stage validation of wearable technology for stress monitoring. MethodsX. doi:https://doi.org/10.1016/j.mex.2025.103205&nbsp;</p>



<p class="wp-block-paragraph">[3] Ghonge, M., Shukla, V. K., Pradeep, N., &amp; Solanki, R. K. (2025). Recent Advances in Multimodal Deep Learning for Stress Prediction: Toward Cycle-Aware and Gender-Sensitive Health Analytics. doi:https://doi.org/10.1051/epjconf/202534101059&nbsp;</p>



<p class="wp-block-paragraph">[4] Ghosh, S., Kim, S., Ijaz, M. F., Singh, P. K., &amp; Mahmud, M. (2022). Classification of Mental Stress from Wearable Physiological Sensors Using Image-Encoding-Based Deep Neural Network. Biosensors. doi:https://doi.org/10.3390/bios12121153&nbsp;</p>



<p class="wp-block-paragraph">[5] Hosseini, M., Sohrab, F., Gottumukkala, R., Bhupatiraju, R. T., Katragadda, S., Raitoharju, J., . . . Gabbouj, M. (2025). A multimodal stress detection dataset with facial expressions and physiological signals.doi:https://doi.org/10.1038/s41597-025-05812-0&nbsp;</p>



<p class="wp-block-paragraph">[6] Islam, T., &amp; Washington, P. (2023). Individualized Stress Mobile Sensing Using Self-Supervised Pre-Training. Applied Sciences. doi:https://doi.org/10.3390/app132112035&nbsp;</p>



<p class="wp-block-paragraph">[7] Md Santo, A., Sapnil Sarker , B., Mohammod , A. M., Sumaiya, K., Manish, S., &amp; Chowdhury, M. (2025). TEANet: A Transpose-Enhanced Autoencoder Network for Wearable Stress Monitoring. Von https://arxiv.org/abs/2503.12657 abgerufen&nbsp;</p>



<p class="wp-block-paragraph">[8] Oliver, E., &amp; Dakshit, S. (2025). Cross-Modality Investigation on WESAD StressClassification. Von https://arxiv.org/abs/2502.18733 abgerufen</p>



<p class="wp-block-paragraph">[9] Prajod, P., Mahesh, B., &amp; André, E. (2024). Stressor Type Matters! &#8212; ExploringFactors Influencing Cross-Dataset Generalizability of Physiological Stress Detection. doi:10.48550/arXiv.2405.09563</p>



<p class="wp-block-paragraph">[10] Rashid, N., Mortlock, T., &amp; Al Faruque, M. A. (2023). Stress Detection using Context-Aware Sensor Fusion from Wearable Devices. Von https://arxiv.org/abs/2303.08215 abgerufen&nbsp;</p>



<p class="wp-block-paragraph">[11] Zhao, Z., Masood, M., &amp; Ning, Y. (2025). PULSE: Privileged Knowledge Transfer from Electrodermal Activity to Low-Cost Sensors for Stress Monitoring. CA, USA. doi:10.48550/arXiv.2510.24058</p>
<p>The post <a href="https://mobile.fhstp.ac.at/allgemein/sota-state-of-the-art-of-multimodal-mobile-stress-detection/">SOTA | State of the art of Multimodal Mobile Stress Detection</a> appeared first on <a href="https://mobile.fhstp.ac.at">Mobile USTP MKL</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Predictive UI &#8211; Using AI to personalize user experience in real-time</title>
		<link>https://mobile.fhstp.ac.at/allgemein/predictive-ui-using-ai-to-personalize-user-experience-in-real-time/</link>
		
		<dc:creator><![CDATA[Melanie Maier]]></dc:creator>
		<pubDate>Wed, 21 Jan 2026 09:55:24 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[UI-Design]]></category>
		<guid isPermaLink="false">https://mobile.fhstp.ac.at/?p=15280</guid>

					<description><![CDATA[<p>Hello dear blog readers! This blog post is about predictive UI, the use of AI to personalize user experience and therefor user interfaces in real-time, depending on user behavior. With AI gaining more and more interest common users and the digital-first era we are living in right now, user expectations are evolving rapidly. Today, it&#8217;s <a class="read-more" href="https://mobile.fhstp.ac.at/allgemein/predictive-ui-using-ai-to-personalize-user-experience-in-real-time/">[...]</a></p>
<p>The post <a href="https://mobile.fhstp.ac.at/allgemein/predictive-ui-using-ai-to-personalize-user-experience-in-real-time/">Predictive UI &#8211; Using AI to personalize user experience in real-time</a> appeared first on <a href="https://mobile.fhstp.ac.at">Mobile USTP MKL</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Hello dear blog readers! This blog post is about predictive UI, the use of AI to personalize user experience and therefor user interfaces in real-time, depending on user behavior. </p>



<p class="wp-block-paragraph"> With AI gaining more and more interest common users and the digital-first era we are living in right now, user expectations are evolving rapidly. Today, it&#8217;s no longer enough for user interfaces to <strong>respond</strong> to user interaction, but they need to be able to <strong>anticipate</strong>, <strong>personalize</strong> and even <strong>predict</strong> user needs. This transformative shift in UI/UX design is driven by AI-powered personalization and predictive interface. </p>



<p class="wp-block-paragraph">Predictive user interfaces do not only respond faster to user input, but actively anticipate it. By analyzing past interactions and behavioral patterns, AI-powered systems can pre-render interface elements before users explicitly request them. This proactive approach significantly reduces perceived latency and creates smoother, more seamless interactions, especially in complex or content-heavy applications.</p>



<h2 class="wp-block-heading">What Is AI-Powered Personalization?</h2>



<p class="wp-block-paragraph">AI-driven personalization uses machine learning to tailor every aspect of a user interface to the individual user. This includes everything from content to layout. Based on behavior patterns, every element of the UI adapts in real time to preferences and context.</p>



<p class="wp-block-paragraph" id="c859">This kind of personalization is called <strong>hyper-personalization</strong>. Interfaces are now designed to operate at the level of the &#8220;user of one&#8221;. This means that the content, tone, layout and even imagery are uniquely for each individual. An example for such a hyper-personalized interface would be Netflix. Netflix tailors their streaming suggestions and even their thumbnails to each user, providing a unique user interface that fits perfectly to the users personal preferences.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="2732" height="2048" src="https://mobile.fhstp.ac.at/wp-content/uploads/2026/01/IMG_3911.jpg" alt="Highly customized Netflix interface" class="wp-image-15283" srcset="https://mobile.fhstp.ac.at/wp-content/uploads/2026/01/IMG_3911.jpg 2732w, https://mobile.fhstp.ac.at/wp-content/uploads/2026/01/IMG_3911-1536x1151.jpg 1536w, https://mobile.fhstp.ac.at/wp-content/uploads/2026/01/IMG_3911-2048x1535.jpg 2048w" sizes="auto, (max-width: 2732px) 100vw, 2732px" /><figcaption class="wp-element-caption">Highly customized Netflix interface</figcaption></figure>



<p class="wp-block-paragraph">This level of personalization goes far beyond visual customization. Streaming platforms like Netflix also use predictive models to preload and buffer content they expect a user to watch next. By anticipating user behavior at the system level, these interfaces feel instant and highly responsive, reinforcing the impression of an experience that is tailored not only to preferences, but also to performance expectations.</p>



<h2 class="wp-block-heading">Predictive Interfaces: Designing What Comes Next</h2>



<p class="wp-block-paragraph">While UI designer always aim to create (static) interfaces that make interaction as easy as possible, predictive interfaces go a step further. With using AI, they aim to forecast user intent and proactive adapt to it.</p>



<p class="wp-block-paragraph">Traditional user interfaces are usually event-driven: the system waits for an explicit action before reacting. Predictive interfaces, in contrast, rely on AI models to infer probable next steps and adapt proactively. Layouts, navigation structures, and interface elements can dynamically recalibrate based on predicted user intent, rather than remaining fixed until a user interaction occurs.</p>



<p class="wp-block-paragraph" id="2dc7">One example of forecasting user intent are smart suggestions and pre-filling input. Pre-filling includes predictive search bars and auto-filled forms. Most users are also already familiar with smart suggestions, such as context-aware menus that surface for example the most relevant options based on time of day, recent interactions or location.</p>



<p class="wp-block-paragraph">These predictions are often based on sequential interaction patterns, such as frequently used navigation paths or repeated task flows. By learning from session-based behavior, predictive interfaces can surface the most relevant options at the right moment, reducing cognitive load and helping users reach their goals faster and with fewer interactions.</p>



<p class="wp-block-paragraph">One real-world case of such an interface behavior involved an e-commerce platform, that dynamically re-arranged its navigation menu during high-traffic periods to yield significantly higher click-through rates.</p>



<p class="wp-block-paragraph">Another concept of predictive interfaces is Zero-Click Predictive UI. It&#8217;s changing the rules of interaction. Instead of guiding users through multiple clicks or menus, modern AI-powered websites can anticipate user needs and deliver content, recommendations, or actions instantly—often before the user even asks. In practice, this means the site predicts what a visitor is looking for using data like browsing behavior, location, or even voice and gesture input, and presents the right information immediately. This approach reduces friction, shortens user journeys, increases engagement, and marks a new era in human-centered digital experiences.</p>



<h2 class="wp-block-heading">Technology &amp; Research</h2>



<p class="wp-block-paragraph" id="1a27">Modern adaptive and predictive user interfaces are being shaped by rapid advances in AI research and technology. Instead of static layouts, today’s interfaces can adjust themselves in real time based on who the user is, what they are trying to do, and how experienced they are. Adaptive User Interfaces, for example, can simplify the experience for newcomers by hiding advanced features, while power users might see shortcuts or navigation structures tailored to their workflows.</p>



<p class="wp-block-paragraph">Many of these adaptive behaviors are powered by machine learning models that analyze user interactions over time. Techniques such as behavioral pattern recognition, session-based learning, and feedback-driven optimization allow interfaces to continuously improve. Reinforcement learning, in particular, enables systems to experiment with small UI changes and learn which design decisions lead to higher engagement or better usability outcomes.</p>



<p class="wp-block-paragraph">Personalization plays a key role in this evolution. Recommender systems—powered by techniques such as collaborative filtering, embeddings, and hybrid AI models—analyze user behavior to surface content that feels relevant and timely. These systems are already familiar from streaming and e-commerce platforms, but similar ideas are now influencing how entire interfaces are structured and presented.</p>



<p class="wp-block-paragraph">On the research side, reinforcement learning opens up new possibilities for interfaces that improve themselves over time. By continuously experimenting with small UI changes and measuring user engagement, these systems can learn which design decisions work best in different situations. This process is guided by predictive human–computer interaction models, allowing interfaces to adapt in a more informed and data-driven way.</p>



<p class="wp-block-paragraph">Another important aspect of predictive interfaces is their ability to optimize performance in the background. By intelligently preloading and pre-rendering interface components that are likely to be needed next, AI-driven systems can minimize unnecessary computations and avoid redundant rendering cycles. This not only improves responsiveness, but also makes more efficient use of system resources.</p>



<p class="wp-block-paragraph" id="1a27">Generative AI adds another powerful layer. Diffusion-based models can create personalized interface designs from simple inputs like text descriptions or rough sketches, then refine those designs through automated feedback loops. Finally, human–AI collaborative design agents, such as tools like “PrototypeAgent,” are beginning to support designers directly by translating intent into UI components through iterative, multi-agent workflows. Together, these technologies point toward a future where interfaces are not just designed once, but continuously learned, generated, and optimized.</p>



<h2 class="wp-block-heading">Design Principles and Ethical Considerations </h2>



<p class="wp-block-paragraph">As AI becomes more deeply embedded in user experiences, strong design principles and ethical considerations are essential to ensure these systems remain helpful, trustworthy, and inclusive. One key element is the use of feedback loops that actively involve users in the evolution of AI-driven interfaces. By allowing people to rate, adjust, or refine AI suggestions, systems can better align their behavior with real user needs instead of making opaque decisions in the background.</p>



<p class="wp-block-paragraph">Transparency is equally important. Users should be able to clearly recognize when and how AI is influencing the interface, whether through labeled suggestions, adaptive layouts, or automated recommendations. Making AI-driven actions visible—similar to how tools like Grammarly label AI-generated suggestions—helps build trust and sets appropriate expectations. Alongside transparency, user control must remain a central design goal. Rather than enforcing AI-generated decisions, interfaces should allow users to customize, override, or completely reject predictive suggestions and layout changes.</p>



<p class="wp-block-paragraph">In addition to transparency and control, predictive interfaces must be resilient to incorrect assumptions. AI models can misinterpret user intent, which makes robust fallback mechanisms essential. When predictions fail, interfaces should gracefully revert to standard interaction patterns instead of forcing users into confusing or irreversible UI states.</p>



<p class="wp-block-paragraph">Finally, ethical AI design requires a strong focus on bias mitigation and inclusivity. AI systems learn from data, and if that data is limited or unbalanced, personalization can quickly become skewed or unfair. Ensuring diverse training data and regularly evaluating outcomes across different user groups helps create experiences that are not only intelligent, but also equitable and accessible for everyone.</p>



<h2 class="wp-block-heading">Final Thoughts</h2>



<p class="wp-block-paragraph">AI-powered personalization and predictive interfaces aren&#8217;t futuristic anymore. They are already widely used and even somehow expected by the user. As AI-powered personalization and predictive interfaces continue to evolve, user interfaces will no longer be static artifacts designed once and shipped. Instead, they will become adaptive systems that continuously learn, generate, and optimize themselves over time. This shift will not only redefine user expectations, but also fundamentally change how designers and developers think about creating truly human-centric digital experiences.</p>



<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<h2 class="wp-block-heading">Sources</h2>
</div></div>



<ul class="wp-block-list">
<li>https://medium.com/@harsh.mudgal_27075/ai-powered-personalization-predictive-interfaces-in-ui-ux-design-a16259916663</li>



<li>https://dev.to/raajaryan/advanced-ai-strategies-for-predictive-ui-component-rendering-in-react-3a01</li>



<li>https://www.fullstack.com/labs/resources/blog/ai-powered-user-interfaces-how-machine-learning-and-react-shape-web-apps</li>
</ul>



<p class="wp-block-paragraph"></p>
<p>The post <a href="https://mobile.fhstp.ac.at/allgemein/predictive-ui-using-ai-to-personalize-user-experience-in-real-time/">Predictive UI &#8211; Using AI to personalize user experience in real-time</a> appeared first on <a href="https://mobile.fhstp.ac.at">Mobile USTP MKL</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Print2Mobile &#124; Pa(w)ls &#8211; Pawsome new social media</title>
		<link>https://mobile.fhstp.ac.at/allgemein/print2mobile-pawls-pawsome-new-social-media/</link>
		
		<dc:creator><![CDATA[Melanie Maier]]></dc:creator>
		<pubDate>Sun, 19 Oct 2025 20:08:56 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Print-to-mobile]]></category>
		<category><![CDATA[QR-Code]]></category>
		<guid isPermaLink="false">https://mobile.fhstp.ac.at/?p=14990</guid>

					<description><![CDATA[<p>Have you ever moved to a new city and suddenly missed the presence of your childhood pet? Maybe you love animals but can’t have one in your apartment or you just wish you could meet people who share your love to animals. Idea That’s where Pa(w)ls comes in.The idea behind Pa(w)ls is to create a place where <a class="read-more" href="https://mobile.fhstp.ac.at/allgemein/print2mobile-pawls-pawsome-new-social-media/">[...]</a></p>
<p>The post <a href="https://mobile.fhstp.ac.at/allgemein/print2mobile-pawls-pawsome-new-social-media/">Print2Mobile | Pa(w)ls &#8211; Pawsome new social media</a> appeared first on <a href="https://mobile.fhstp.ac.at">Mobile USTP MKL</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Have you ever moved to a new city and suddenly missed the presence of your childhood pet? Maybe you love animals but can’t have one in your apartment or you just wish you could meet people who share your love to animals.</p>



<h2 class="wp-block-heading">Idea</h2>



<p class="wp-block-paragraph">That’s where Pa(w)ls comes in.<br>The idea behind Pa(w)ls is to create a place where people can connect through animals &#8211; whether they want to meet pets from others, let people meet their own animals or visit animal shelters to spend time with furry friends.</p>



<p class="wp-block-paragraph">To promote the concept, I also created a poster campaign. Each poster includes a QR code that directly links to the website, allowing people to quickly learn more about the concept and sign up. Matching stickers could be used to advertise Pa(w)ls around cities.</p>



<figure class="wp-block-gallery aligncenter has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-full is-style-default"><img loading="lazy" decoding="async" width="595" height="842" data-id="15001" src="https://mobile.fhstp.ac.at/wp-content/uploads/2025/10/Plakat_klein-2.jpg" alt="" class="wp-image-15001"/></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="2372" height="3162" data-id="15007" src="https://mobile.fhstp.ac.at/wp-content/uploads/2025/10/IMG_4346-2-1.jpg" alt="" class="wp-image-15007" srcset="https://mobile.fhstp.ac.at/wp-content/uploads/2025/10/IMG_4346-2-1.jpg 2372w, https://mobile.fhstp.ac.at/wp-content/uploads/2025/10/IMG_4346-2-1-1152x1536.jpg 1152w, https://mobile.fhstp.ac.at/wp-content/uploads/2025/10/IMG_4346-2-1-1536x2048.jpg 1536w" sizes="auto, (max-width: 2372px) 100vw, 2372px" /><figcaption class="wp-element-caption">Pa(w)ls Sticker</figcaption></figure>
</figure>



<h2 class="wp-block-heading">Implementation</h2>



<p class="wp-block-paragraph">I designed and built the website prototype using Figma Sites, focusing on creating a soft, friendly and inviting design, something that reflects the emotional and community-driven nature of the idea. Using Figma Slides allowed me to design a fully responsive web application without coding, concentrating on the design, concept and a visually pleasing appearance over all devices. </p>



<p class="wp-block-paragraph">The website allows users to learn more about this new kind of social media. It provides information about how it works, what the motivation behind is and what benefits it brings for its users. </p>



<p class="wp-block-paragraph">Pa(w)ls visual identity revolves around bright turquoise tones, rounded shapes and a playful layout, emphasizing friendliness and comfort. The slogan &#8220;People. Pets. Pawsome memories.&#8221; is intended to captivate the reader and already convey a connection to a pet-related topic.</p>



<p class="wp-block-paragraph">The poster design plays a key role: it visually introduces the project and makes it easy for people to access the website instantly by scanning the QR code with their phone. Paw prints on the poster and the website enhance the recognition value of the project.</p>



<p class="wp-block-paragraph">Pa(w)ls is more than just a website concept &#8211; it’s about building connections and sharing joy, one paw at a time. The combination of design, emotional storytelling and accessibility aims to create a space where people and animals bring out the best in each other.</p>



<p class="wp-block-paragraph"> </p>



<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1920" height="1080" data-id="15009" src="https://mobile.fhstp.ac.at/wp-content/uploads/2025/10/Post_img_1-1.jpg" alt="" class="wp-image-15009" srcset="https://mobile.fhstp.ac.at/wp-content/uploads/2025/10/Post_img_1-1.jpg 1920w, https://mobile.fhstp.ac.at/wp-content/uploads/2025/10/Post_img_1-1-1536x864.jpg 1536w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></figure>
</figure>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">Link to the website: <a href="https://ginger-money-77817699.figma.site">https://ginger-money-77817699.figma.site</a> </p>



<div class="wp-block-buttons is-vertical is-content-justification-center is-nowrap is-layout-flex wp-container-core-buttons-is-layout-db8284a4 wp-block-buttons-is-layout-flex">
<div class="wp-block-button has-custom-width wp-block-button__width-50 is-style-fill"><a class="wp-block-button__link has-background has-medium-font-size has-text-align-center has-custom-font-size wp-element-button" href="https://ginger-money-77817699.figma.site" style="background-color:#00bccb" rel="https://ginger-money-77817699.figma.site">Visite Website</a></div>
</div>



<p class="wp-block-paragraph">Sources:</p>



<ul class="wp-block-list">
<li>Cat image: <a href="https://unsplash.com/de/fotos/weisse-und-braune-langfellkatze-ZCHj_2lJP00">https://unsplash.com/de/fotos/weisse-und-braune-langfellkatze-ZCHj_2lJP00</a></li>



<li>Image in Section Pet Companions: <a href="https://unsplash.com/de/fotos/person-mit-goldring-in-dunklem-raum-XB_yndXE4ks">https://unsplash.com/de/fotos/person-mit-goldring-in-dunklem-raum-XB_yndXE4ks</a></li>



<li>Image in Section Pet Hosts: <a href="https://unsplash.com/de/fotos/getigerte-katze-beruhrt-die-handflache-einer-person-xulIYVIbYIc">https://unsplash.com/de/fotos/getigerte-katze-beruhrt-die-handflache-einer-person-xulIYVIbYIc</a></li>



<li>Image in Section Shelter Connections: <a href="https://unsplash.com/de/fotos/flachfokusfotografie-von-schwarzem-katzchen-On6bRQRn5lY">https://unsplash.com/de/fotos/flachfokusfotografie-von-schwarzem-katzchen-On6bRQRn5lY</a></li>



<li>Dog image: <a href="https://unsplash.com/de/fotos/weisses-und-braunes-langes-fell-grosser-hund-U3aF7hgUSrk">https://unsplash.com/de/fotos/weisses-und-braunes-langes-fell-grosser-hund-U3aF7hgUSrk</a></li>
</ul>



<p class="wp-block-paragraph"><br><em>Legal Notice:</em> The platform presented here does not represent a real or functioning service. All concepts, designs, texts and ideas shown on this website are the intellectual property of the creator and are protected under applicable copyright and intellectual property laws. Any reproduction, distribution, or use of this material without explicit permission from the author is strictly prohibited.</p>



<p class="wp-block-paragraph"></p>
<p>The post <a href="https://mobile.fhstp.ac.at/allgemein/print2mobile-pawls-pawsome-new-social-media/">Print2Mobile | Pa(w)ls &#8211; Pawsome new social media</a> appeared first on <a href="https://mobile.fhstp.ac.at">Mobile USTP MKL</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
