<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[ArcTouch - Medium]]></title>
        <description><![CDATA[We help companies create lovable apps, websites, and connected experiences. - Medium]]></description>
        <link>https://medium.com/arctouch?source=rss----54f6cfdf05bc---4</link>
        <image>
            <url>https://cdn-images-1.medium.com/proxy/1*TGH72Nnw24QL3iV9IOm4VA.png</url>
            <title>ArcTouch - Medium</title>
            <link>https://medium.com/arctouch?source=rss----54f6cfdf05bc---4</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Wed, 03 Jun 2026 01:10:48 GMT</lastBuildDate>
        <atom:link href="https://medium.com/feed/arctouch" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[How Siri + Apple Intelligence Amplify Apps]]></title>
            <link>https://medium.com/arctouch/how-siri-apple-intelligence-amplify-apps-7f15239dd4e8?source=rss----54f6cfdf05bc---4</link>
            <guid isPermaLink="false">https://medium.com/p/7f15239dd4e8</guid>
            <category><![CDATA[ios-app-development]]></category>
            <category><![CDATA[user-engagement]]></category>
            <category><![CDATA[development]]></category>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[siri]]></category>
            <dc:creator><![CDATA[Team ArcTouch]]></dc:creator>
            <pubDate>Sat, 12 Oct 2024 15:09:56 GMT</pubDate>
            <atom:updated>2024-10-12T15:09:56.130Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*KE3PiEZexCfYcN7H9oOmfg.jpeg" /></figure><p>Apple Intelligence, the collection of new AI capabilities built into iOS and macOS, may revolutionize how we interact with apps. And at the center of it is Siri. This isn’t just a minor Siri update; it’s a fundamental reboot to a smarter Siri powered by generative AI models at the core of your Apple devices.</p><p>In this post, we explore how Apple Intelligence is transforming Siri through expanded capabilities of the App Intents API. Most importantly, we’ll explain how these advancements can help companies amplify their app’s reach and increase user engagement.</p><h3>Siri powered by Apple Intelligence</h3><p>Compared to some other intelligent systems — e.g. Alexa and the Google Assistant — Siri has always felt a bit limited. Those days are fading fast. Apple Intelligence gives Siri a significant IQ boost — and makes it functionally more useful.</p><p><strong>What does this mean for users?</strong></p><ul><li><strong>Natural conversations</strong>: Siri’s language processing has been significantly enhanced, allowing for more natural and intuitive back-and-forth dialogue.</li><li><strong>Contextual awareness</strong>: Siri is becoming remarkably adept at understanding your needs based on your activity. With on-screen awareness, Siri can interact with parts of your app and offer relevant suggestions and actions.</li><li><strong>Enhanced action capabilities</strong>: The new App Intents API empowers Siri to take a wider range of actions within your apps, creating a more seamless and integrated user experience. For example, imagine Siri helping you book a flight directly in your travel app entirely by a voice conversation.</li></ul><p><strong>What does this mean for developers?</strong></p><ul><li><strong>SiriKit enhancements: </strong>If your app already uses SiriKit, you’ll get all those improvements by default.</li><li><strong>Increased discoverability: </strong>Your app’s features will be more discoverable than ever. Apple Intelligence integrates the app features developers choose seamlessly into Siri, Spotlight, Shortcuts, Control Center, and more.</li></ul><h3>New App Intents, Supercharged with Apple Intelligence</h3><p>In recent iOS updates, Apple has offered developers new ways to engage with users outside of the full app experience. <a href="https://arctouch.com/blog/ios-lock-screen-widgets">Lock Screen widgets</a>, <a href="https://arctouch.com/blog/dynamic-island">Dynamic Island</a> provide glanceable and interactive elements on the phone’s home screen. <a href="https://arctouch.com/blog/ios-app-intents">App Intents</a> allow developers to expose an app’s core functionality through voice-powered interactions. Together, these extend the reach of your app and create regular opportunities to raise awareness and encourage repeat usage.</p><p>The new and improved App Intents, supercharged by a smarter Siri and Apple Intelligence, take this even further and are the key to unlocking a broader range of voice-powered interactions. Think of App Intents as bridges that expose your app’s functionality across the system services, making it more versatile, discoverable, and engaging.</p><h3>Assistant Schemas for developers</h3><p>Apple has also introduced <a href="https://developer.apple.com/documentation/appintents/assistant-schema-base-protocols">Assistant Schemas</a>, a standardized way to define your app’s actions and data, allowing Apple Intelligence to understand and use them. The Assistant Schema types include:</p><ul><li><strong>Books:</strong> To integrate your app’s ebook and audiobook functionality.</li><li><strong>Browser:</strong> For actions such as bookmarking, managing tabs and search on page.</li><li><strong>Camera:</strong> To integrate your app’s camera functionality.</li><li><strong>Document reader:</strong> For opening, editing and searching in documents.</li><li><strong>File management: </strong>For creating folders, renaming and moving files.</li><li><strong>Journaling:</strong> For creating, updating, deleting, and searching journal entries.</li><li><strong>Email</strong>: For actions such as sending messages and managing inboxes</li><li><strong>Photos and videos</strong>: For actions including viewing, editing, sharing, and organizing.</li><li><strong>Presentations: </strong>For actions such as creating, editing and presenting.</li><li><strong>Spreadsheets:</strong> For actions such as creating, editing, and deleting.</li><li><strong>System and in-app search</strong>: For searchable content within your app..</li><li><strong>Whiteboard:</strong> For creating, updating, and deleting a whiteboard canvas.</li><li><strong>Word processor and text editing:</strong> To add audio, images, text box, or videos to a page in a text document.</li></ul><p>You can check the full list.</p><p>The more intelligent Siri should steer developers into supporting more intents in their apps. One Apple spokesperson said during a <a href="https://developer.apple.com/videos/play/wwdc2024/10176/">WWDC session on App Intents</a>, “Anything your app does should be an App Intent.”</p><p>A few examples of useful App Intents might include:</p><ul><li>Example One — Ask Siri to suggest a step-by-step recipe based on a photo of the items in your refrigerator, using the <a href="https://arctouch.com/portfolio/mccormick">McCormick Flavor Maker app</a>.</li><li>Example Two — Ask Siri to recommend a scary movie that’s still family friendly and available currently on the streaming services you subscribe to, using the <a href="https://arctouch.com/portfolio/common-sense-media">Common Sense Media app</a>.</li></ul><p>App developers should focus on creating App Intents that represent clear, user-centric actions that enhance the overall user experience. Existing App Intents might overlap with the Assistant Schemas’ functionalities. If you’re able to make your existing App Intents conform to a schema without changing any parameters, simply do that — but be mindful about changing their implementations as it can cause existing shortcuts to stop working. Otherwise, create a new App Intent and mark it as available to Apple Intelligence by setting <em>isAssistantOnly</em> to true to avoid making them appearing as duplicates.</p><h3>What does the smarter Siri mean for Shortcuts?</h3><p>With the latest additions to the App Intents API, any App Intent that conforms to the new Assistant Schemas will automatically be recognized as an action within the Shortcuts app. This opens up a world of possibilities for increasing user engagement with your app. It gives your users the ability to effortlessly incorporate your app’s functionality into their personalized automations, triggered by specific events or conditions, or directly from their home screen as a custom shortcut. (Read our <a href="https://arctouch.com/tag/app-shortcuts">blog series about App Shortcuts</a> to learn more.)</p><p>But that’s not all. This enhanced support is being extended to Siri as well. If you are a developer, you might be thinking, “That’s great, but how can I integrate all of this with Siri?”</p><p>You don’t need to worry about adding support for it. The same App Intents that power Shortcuts will automatically work with Siri, allowing users to interact with your app using natural language voice commands. This deep system integration leads to a more powerful, intuitive, and connected experience for your users.</p><h3>Amplify your app with Apple Intelligence</h3><p>Apple Intelligence isn’t just an upgrade for Siri; it’s a paradigm shift. Companies can amplify their app’s core functionality through voice-powered interactions that boost <a href="https://arctouch.com/tag/user-engagement">user engagement</a>.</p><h3>Is your app ready for Apple Intelligence and iOS 18?</h3><p>If you’d like to learn how to upgrade your app to leverage iOS 18’s new features, including the new Siri and Apple Intelligence, <a href="https://arctouch.com/contact">contact us</a> for a free consultation.</p><p><em>Originally published at </em><a href="https://arctouch.com/blog/siri-apple-intelligence"><em>https://arctouch.com</em></a><em>.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=7f15239dd4e8" width="1" height="1" alt=""><hr><p><a href="https://medium.com/arctouch/how-siri-apple-intelligence-amplify-apps-7f15239dd4e8">How Siri + Apple Intelligence Amplify Apps</a> was originally published in <a href="https://medium.com/arctouch">ArcTouch</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[App Accessibility Crucial for Aging Smartphone Users]]></title>
            <link>https://medium.com/arctouch/app-accessibility-crucial-for-aging-smartphone-users-d2868770cedb?source=rss----54f6cfdf05bc---4</link>
            <guid isPermaLink="false">https://medium.com/p/d2868770cedb</guid>
            <category><![CDATA[apps]]></category>
            <category><![CDATA[accessibility]]></category>
            <category><![CDATA[aging]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[app-development]]></category>
            <dc:creator><![CDATA[Team ArcTouch]]></dc:creator>
            <pubDate>Sat, 12 Oct 2024 15:08:52 GMT</pubDate>
            <atom:updated>2024-10-12T15:08:51.986Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*kuA5losXwW8pXU_b5c58VA.jpeg" /></figure><p>When our executive team at ArcTouch first started discussing app accessibility a few years ago, I viewed it through a narrow lens: It was for disabled people.</p><p>At that time, <a href="https://arctouch.com/blog/app-maker-ben-ogilvie">Ben Ogilvie</a>, now our head of accessibility, shared a striking statistic: <a href="https://archive.cdc.gov/www_cdc_gov/media/releases/2018/p0816-disability.html#:~:text=One%20in%204%20U.S.%20adults%20%E2%80%93%2061,according%20to%20a%20report%20in%20CDC&#39;s%20Morbidity">1-in-4 people in the U.S. have some form of disability</a>, many of whom without an official diagnosis. <em>A staggering number</em>.</p><p>Still, I couldn’t fully appreciate what this meant. I knew that building fully <a href="https://arctouch.com/accessibility">accessible digital experiences</a> all the time was probably the right thing to do. But I also knew that doing so would add time and cost to projects, something our clients wouldn’t like.</p><p>I wasn’t convinced that accessibility was always necessary.<em> Then accessibility became personal</em>.</p><h3>This app builder is getting older</h3><p>My eyesight has slowly deteriorated over the past several years, a typical age-related change. My ability to see things in focus at a short distance diminished. I became the cliche middle-aged dad who subconsciously finds himself holding his phone further away so I can read what’s on the screen.</p><p>Naturally, I adjusted my habits — increasing font sizes and zoom levels in my phone settings. Some of the apps and websites I frequently used handled these changed settings properly, but many became completely unusable.</p><p>Eventually, I went to the optometrist and got some new progressive lens glasses to help with my changed vision. I returned my settings to a more typical level. <em>For now</em>.</p><p>Meanwhile, I also developed tendonitis, or “tennis elbow,” in both arms. Everyday tasks like scrolling and tapping on a screen, mousing around a monitor, and typing on a keyboard became painful. I started using voice-to-text solutions and other accessible solutions for navigation. Sometimes, these tools worked ok. But for anyone who has ever been frustrated with Siri, Alexa, or Google Assistant, you know these aren’t perfect. For applications that don’t prioritize accessibility, it only gets worse.</p><p>Fortunately, my elbows have recovered through physical therapy. My eyesight? That’s going to continue to decline.</p><p>These journeys led me to a few revelations:</p><p>I, too, had a couple of disabilities. They turned out to be addressable through physical therapy and eyeglasses.</p><p>Others aren’t so lucky. Many have permanent disabilities.</p><p>More troubling, aging will undoubtedly limit my future ability to thrive in the digital world. <em>Especially without digital accessibility.</em></p><h3>An aging population of first-generation smartphone users</h3><p>My age-related physical impairments left me thinking about my demographic and our relationship with technology. When Apple introduced the iPhone in 2007 — which led to the <a href="https://arctouch.com/blog/how-the-app-store-gave-rise-to-arctouch">creation of ArcTouch</a> — I was 30 years old.</p><p>I was among the early adopters of smartphones — and since, nearly everyone in my age group has adopted smartphones. A <a href="https://www.pewresearch.org/short-reads/2022/01/13/share-of-those-65-and-older-who-are-tech-users-has-grown-in-the-past-decade/">2021 survey</a> showed that, in the U.S., 95% of those aged 30 to 49 reported owning a smartphone in 2021. That number includes me, though many iPhone and Android early adopters are probably now in the 50–64 demographic. That same survey showed 83% of those aged 50 to 64 owned smartphones.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/900/0*F5pMfwWknMW8QUal.png" /></figure><p>source: Pew Research</p><p>ChatGPT estimates there are over a billion people today aged 42–57, a massive global market of aging, first-generation smartphone users who depend on these devices and their apps.</p><p>And let’s be real for a minute: We are <em>all</em> slowly losing our eyesight, hearing, cognition, and physical abilities.</p><p>Digital accessibility matters to everyone. It matters for those who struggle with a range of temporary or permanent disabilities today — because they deserve to have equal access to digital products and experiences. And it matters for our future selves who will eventually fall into the first category. <em>Myself included</em>.</p><h3>Why I’m proud of accessibility-first development at ArcTouch</h3><p>I’m a little embarrassed that I was slow to embrace our <a href="https://arctouch.com/tag/accessibility">accessibility initiatives</a> at ArcTouch. But through my own journey, I understand now.</p><p>Our entire company has embraced the concept of accessibility-first app development — and we firmly believe the <a href="https://arctouch.com/blog/accessibility-first-app-development">business case for accessibility is unbeatable</a>.</p><p>That doesn’t mean accessibility is easy. As our friend <a href="https://arctouch.com/blog/joe-devon-gaad">Joe Devon, founder of Global Accessibility Awareness Day, recently told us</a>, building accessible experiences has become more difficult with the proliferation of hardware and software platforms and standards.</p><p>Developing software that is genuinely accessible does not mean you simply pass an automated check tool. It isn’t limited to “we follow best practices,” — though our team does have an <a href="https://arctouch.com/resources/app-accessibility-checklist">app accessibility checklist</a> that supports our tactical work on projects. To us, it means we’re culturally committed to accessibility, which is foundational to every <a href="https://arctouch.com/blog/mvp-app-development">lovable app</a> and website we create. Our team is dedicated to designing and developing digital products with meaningful conformance to accessibility standards and delivering fully accessible inclusive experiences for everyone.</p><p>It’s not an afterthought; it’s part of ArcTouch’s DNA. And if accessible digital products matter to you and your company, then we’d love to work together to make it so.</p><p>Let’s make accessibility a cornerstone of digital innovation — today and tomorrow. For you. For me. For everyone.</p><h3>About ArcTouch</h3><p>Since the dawn of the App Store, ArcTouch has been creating lovable apps for companies of all sizes. to learn more about our <a href="https://arctouch.com/accessibility">accessible product design and development services</a>.</p><p><em>Originally published at </em><a href="https://arctouch.com/blog/accessibility-aging-smartphone-users"><em>https://arctouch.com</em></a><em>.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=d2868770cedb" width="1" height="1" alt=""><hr><p><a href="https://medium.com/arctouch/app-accessibility-crucial-for-aging-smartphone-users-d2868770cedb">App Accessibility Crucial for Aging Smartphone Users</a> was originally published in <a href="https://medium.com/arctouch">ArcTouch</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Android 15: What App Developers Need to Know]]></title>
            <link>https://medium.com/arctouch/android-15-what-app-developers-need-to-know-bfcd3c8e933b?source=rss----54f6cfdf05bc---4</link>
            <guid isPermaLink="false">https://medium.com/p/bfcd3c8e933b</guid>
            <category><![CDATA[material-design]]></category>
            <category><![CDATA[google]]></category>
            <category><![CDATA[user-experience]]></category>
            <category><![CDATA[android-app-development]]></category>
            <category><![CDATA[development]]></category>
            <dc:creator><![CDATA[Team ArcTouch]]></dc:creator>
            <pubDate>Sat, 03 Aug 2024 19:39:53 GMT</pubDate>
            <atom:updated>2024-08-04T13:59:13.127Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*e39rZI1getoSiR3Z.png" /></figure><p>Much of the buzz from the recent Google I/O conference was centered on advancements in AI through Gemini. Yet, the significant updates announced for Android 15 equally captured our attention.</p><p>In this post, we explore the key enhancements to Android 15 that app developers and product leaders need to be aware of in three areas: user experience, privacy &amp; security, and battery &amp; performance.</p><h3>User experience</h3><h4>Improved Multitasking</h4><p>Android 15 introduces improved multitasking capabilities with “Save app pair” shortcuts. This feature allows users to open apps already in split-screen mode, facilitating a smoother user experience for those who frequently use two apps simultaneously. To aid developers in adapting their apps to different screen sizes and modes, Google has released a new Jetpack compose library called <a href="https://developer.android.com/jetpack/androidx/releases/compose-material3-adaptive">Material3 Adaptive</a>.</p><h4>Android Widget Previews</h4><p>In another effort to enhance user experience, Android 15 offers Widget Previews. This feature enables Android apps to provide a personalized preview of a Widget. Implementing this involves creating your own RemoteView and providing the preview to the AppWidgetManager using the newly added APIs <a href="https://developer.android.com/reference/android/appwidget/AppWidgetManager#setWidgetPreview(android.content.ComponentName,%20int,%20android.widget.RemoteViews)">setWidgetPreview</a>, <a href="https://developer.android.com/reference/android/appwidget/AppWidgetManager#getWidgetPreview(android.content.ComponentName,%20android.os.UserHandle,%20int)">getWidgetPreview</a>, and <a href="https://developer.android.com/reference/android/appwidget/AppWidgetManager#removeWidgetPreview(android.content.ComponentName,%20int)">removeWidgetPreview</a>.</p><p>Of note, Google has introduced <a href="https://developer.android.com/develop/ui/compose/glance">Jetpack Compose Glance</a> to facilitate the design of those widgets.</p><h4>Predictive Back</h4><p>Predictive Back, a feature introduced in Android 13 to enhance intuitive gesture navigation, will now be activated by default in Android 15. If your app has a customized back navigation logic and does not yet support Predictive Back, it’s crucial to implement this feature to ensure a seamless user experience.</p><h4>Edge-to-Edge</h4><p>Another default feature in Android 15 is <a href="https://developer.android.com/develop/ui/views/layout/edge-to-edge">edge-to-edge</a>, which maximizes the available display area. When designing your screens, it’s important to consider Window insets to set up your screen components correctly. Apps using Material 3 Compose components might not be negatively impacted because most components apply insets, while Material 2 Compose doesn’t automatically apply insets.</p><p>Below are some examples of how edge-to-edge works and possible problems your app may encounter:</p><p>Developers can apply edge-to-edge in Activities when targeting apps below Android 15. All you need to do is add the following snippet to your code:</p><h4>Audio Focus</h4><p>Android 15 introduces new restrictions on Audio Focus requests. Currently, apps can sometimes continue to play their audio content even after being closed or left idle, which can lead to a less-than-ideal user experience. To address this, Google is implementing restrictions that allow only the top app on the user’s screen or an audio-related foreground service (such as media playback, camera, microphone, or phone calls) to request Audio Focus. As app developers, ensuring your apps comply with these new restrictions is crucial to delivering a high-quality user experience.</p><h4>Picture-in-Picture</h4><p>Another significant update pertains to the Picture-in-Picture (PiP) mode. Android 15 introduces new methods to track the transition to PiP mode more effectively. Notably, the onPictureInPictureUiStateChanged() activity callback will be invoked as soon as the transition to PiP happens. This allows for the hiding of overlaid UI elements, ensuring a smoother transition. It&#39;s important to consider these changes when developing or updating your apps to provide a seamless user experience.</p><h3>Security &amp; privacy</h3><h4>Private Space</h4><p>Android 15 comes equipped with several security features, the most notable being Private Space. This dedicated space keeps sensitive applications hidden and locked even after the phone is unlocked, providing an additional layer of authentication configured by the user. For example, you can access your phone using a 4-digit PIN, but Private Space is configured to use fingerprint authentication.</p><p>This area can be used to store apps you don’t want to be easily accessed, like banks, password managers, and others.</p><p>Private Space can be leveraged by any app, but developers need to consider:</p><ul><li>Apps within the Private Space are kept in a separate user profile, similar to the existing <a href="https://www.android.com/enterprise/work-profile/">Work Profile</a>. All data stored will also be separate from regular apps, creating restrictions on sharing data between apps. However, <a href="https://developer.android.com/training/sharing/send">Android Sharesheet</a> and <a href="https://developer.android.com/training/data-storage/shared/photopicker">Photo Picker</a> can share data across different spaces when Private Space is unlocked. For example, consider a scenario where you’ve made a money transfer from your bank app, stored in Private Space, and you want to share the receipt with someone through WhatsApp, stored in the main profile. By leveraging the Android Sharesheet and/or the photo picker, developers can easily access those files generated in Private Space.</li><li>To install apps that are only available in the Private Space, you need to implement an IntentFilter with the category CATEGORY_APP_MARKET.</li></ul><p>For those who develop or own a launcher app — an app that customizes the user interface of the Android device — <a href="https://developer.android.com/about/versions/15/behavior-changes-all#private-space-launcher-apps">additional steps</a> need to be taken to make Private Space available to Android 15 users. This added layer of security ensures that sensitive applications remain hidden and inaccessible without proper authentication, thereby enhancing user privacy and data protection.</p><h4>Photo-access permissions</h4><p>Google has also improved photo-access permissions, offering partial access to recently accessed photos and videos without needing full file access permission. This builds trust with users concerning privacy. To support these features, developers need to enable querying the MediaStore through the ContentResolver.</p><h4>Task Hijacking</h4><p>Google has also made some changes to increase security by preventing other apps from opening Activities in the background without users’ awareness, known as Task Hijacking. To prevent task hijacking, developers need to declare the following command in AndroidManifest.xml:</p><p>You can still allow a specific activity to be shared by opting out of this behavior and declaring your activity:</p><h4>Strict mode</h4><p>Another safety measure in Android 15 is setting Strict mode to detect the launch of unsafe intents. This helps prevent malicious apps from exploiting intents in activities. Safer Intents must have declared actions and match their intent filters correctly, so make sure all your app intents comply with the Strict mode.</p><p>All developers need to do to activate the Strict mode is to add this code:</p><h3>Battery-life &amp; Performance</h3><h4>Foreground services</h4><p>Android 15 introduces limitations to Foreground services to optimize battery life and performance. Data Sync and Media Processing foreground service types now have a 6-hour time limit. If this limit is reached, the service will no longer be considered a Foreground service and will be stopped. If the app has a SYSTEM_ALERT_WINDOW permission to allow starting foreground services while the app is running in the background, Android 15 will require a visible overlay to inform the user of the running service.</p><p>If you have long-running services in applications, evaluate their efficiency to prevent reaching the newly imposed limits. If those foreground services start in the background, make sure they match the new requirements; otherwise, services will fail to start.</p><p>Developers can leverage Android Studio to debug network and power usage to keep the services battery-efficient. There was a great <a href="https://io.google/2024/explore/4ad3e7fe-ca50-4c24-8c48-5c04ee39e4d0/">Google I/O talk about this topic</a>.</p><h3>Is your app ready for Android 15?</h3><p>Android 15 offers apps an enhanced user experience, improved privacy and security, and optimized battery life and performance. These updates present both opportunities and challenges for app developers and product leaders. Understanding and implementing these changes effectively is key to creating lovable Android apps.</p><p>If you need help preparing for Android 15, our team of <a href="https://arctouch.com/android-developers">Android app developers</a> can help. <a href="https://arctouch.com/contact">Contact us</a> for a free consultation.</p><p><em>Originally published at </em><a href="https://arctouch.com/blog/android-15"><em>https://arctouch.com</em></a><em>.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=bfcd3c8e933b" width="1" height="1" alt=""><hr><p><a href="https://medium.com/arctouch/android-15-what-app-developers-need-to-know-bfcd3c8e933b">Android 15: What App Developers Need to Know</a> was originally published in <a href="https://medium.com/arctouch">ArcTouch</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Kotlin Multiplatform & Cross-Platform App Development]]></title>
            <link>https://medium.com/arctouch/kotlin-multiplatform-cross-platform-app-development-82ec023448c7?source=rss----54f6cfdf05bc---4</link>
            <guid isPermaLink="false">https://medium.com/p/82ec023448c7</guid>
            <category><![CDATA[kotlin-multiplatform]]></category>
            <category><![CDATA[flutter-app-development]]></category>
            <category><![CDATA[development]]></category>
            <category><![CDATA[react-native]]></category>
            <category><![CDATA[kotlin]]></category>
            <dc:creator><![CDATA[Team ArcTouch]]></dc:creator>
            <pubDate>Sat, 03 Aug 2024 19:39:33 GMT</pubDate>
            <atom:updated>2024-08-03T19:39:33.182Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*7GpUNmEAXW9uKUmR-x_qoQ.jpeg" /></figure><p>In the world of app development, creating seamless user experiences across multiple platforms has always been a challenge. Traditionally, developers had to write code for each platform individually or make significant compromises to reuse code. However, Kotlin Multiplatform (KMP) is set to change this landscape.</p><p>Kotlin, Google’s official <a href="https://arctouch.com/blog/kotlin-android-programming-language">programming language for Android app development</a> since 2017, now offers a robust and promising alternative to other cross-platform frameworks such as <a href="https://arctouch.com/flutter-development">Flutter</a>, React Native, and <a href="https://arctouch.com/xamarin-developers">.NET MAUI (previously Xamarin)</a>. Google recently announced that Kotlin Multiplatform, developed by JetBrains, now extends support to Android, enabling code sharing across mobile, web, server, and desktop platforms.</p><p>In this blog post, we’ll delve into the impact of Kotlin Multiplatform on cross-platform app development. We’ll also explore how developers can make informed choices between Kotlin Multiplatform, Flutter, React Native, and .NET MAUI, highlighting the unique strengths and considerations of each framework.</p><h3>Building new cross-platform apps with Kotlin Multiplatform</h3><p>The most important attribute of Kotlin Multiplatform is its ability to combine native development with the sharing of business logic between different platforms. This allows companies and developers to save time and resources by reducing code duplication and simplifying maintenance.</p><p>With KMP, developers can build cross-platform applications that share the same code between Android and iOS — and implement logic such as networking, analytics, and data models, among others. Development teams can still build designs specifically for each platform.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/800/0*J0dkNTdMwQIbaaIU.png" /></figure><p><em>Kotlin Multiplatform Architecture (Source: </em><a href="https://android-developers.googleblog.com/2024/05/android-support-for-kotlin-multiplatform-to-share-business-logic-across-mobile-web-server-desktop.html"><em>Android Developers</em></a><em>)</em></p><p>However, designers and developers can also use Kotlin Multiplatform with JetBrains’ <a href="https://www.jetbrains.com/lp/compose-multiplatform/">Compose Multiplatform</a>, a Kotlin-based declarative UI framework. Compose Multiplatform allows apps to share visual elements such as components and screens.</p><p>Kotlin Multiplatform is especially good for apps needing deep integration with hardware and the Android platform. Plus, using Kotlin and Jetpack Compose makes UI development faster and easier with Live Edit, Compose UI preview in Android Studio, and user-friendly Kotlin APIs.</p><h3>Using Kotlin Multiplatform with existing apps</h3><p>Another advantage of Kotlin Multiplatform is that it can be integrated with existing Android and iOS projects, allowing for a gradual adoption of this technology. This gives developers the versatility to use both native and multiplatform development technologies without the need to rewrite existing code from scratch.</p><p><a href="https://www.jetbrains.com/help/kotlin-multiplatform-dev/case-studies.html">JetBrains announced</a> that several large companies across various sectors are adopting KMP, including Netflix, McDonald’s, Quizlet, and Forbes. The company boasts that developers can share over 80 percent of app logic across iOS and Android multi-platform projects. This allows teams to publish updates on both platforms simultaneously and maintain the flexibility to adjust or withhold features for specific platforms when necessary.</p><ul><li><strong>Developer and team skillset</strong>: Engineers often choose based on their individual expertise or knowledge across the whole development team.</li><li><strong>Project requirements</strong>: The specific needs of the project can guide the choice, such as performance. requirements, UX/UI complexity, or unique platform-specific features.</li><li><strong>Community and support</strong>: The availability of community support, open-source and commercial libraries, and developer tools can be a deciding factor.</li><li><strong>Company and app ecosystem</strong>: An application’s integration with existing systems and technologies within an organization also plays a critical role.</li></ul><h3>How to choose a cross-platform framework for your app</h3><p>Choosing between Kotlin Multiplatform, Flutter, React Native, .NET Maui, and other app development frameworks depends on various factors, including:</p><p>By considering these factors, developers can choose the cross-platform app development framework that best aligns with their project’s requirements and their team’s capabilities. Here are some reasons why developers choose specific frameworks:</p><h3>When to choose Kotlin Multiplatform</h3><p>Kotlin Multiplatform is ideal for projects where you need to share business logic across multiple platforms but want to maintain platform-specific UI components. It reduces code duplication and simplifies maintenance for complex logic shared across mobile, desktop, web, and server environments. With KMP, developers can focus on using platform-specific APIs to build their UI, while reusing a single codebase for core functionality. It’s also a great choice when you already have a native app (Android or iOS only) and want to reuse the business logic while only doing the UI work for the other platform. And as previously mentioned, you can adopt it gradually while retaining native code as you make the transition.</p><h3>When to choose Flutter</h3><p>Flutter is an open-source UI toolkit by Google for building natively compiled applications for mobile, web, and desktop from a single codebase using the Dart programming language. <a href="https://arctouch.com/flutter-development">Flutter development</a> is best for projects requiring a unified codebase for both business logic and UI across all platforms. Flutter allows for highly customizable and consistent UI designs across platforms because it uses its own rendering engine. It has a stateful hot-reload feature that ensures a consistent user experience and allows for rapid development. Flutter is perfect for creating visually rich and consistent apps on Android, iOS, web, and desktop.</p><h3>When to choose React Native</h3><p>React Native, developed by Facebook, allows developers to build mobile applications using JavaScript and React. It leverages native components instead of web components, ensuring better performance and a closer-to-native feel. Its popularity among web developers means it has extensive community support, including numerous libraries and plugins. It offers near-native performance, though it may require optimization for complex and high-performance applications.</p><h3>When to choose .NET Maui</h3><p>.NET MAUI, the evolution of Xamarin.Forms by Microsoft, is a cross-platform framework for creating native mobile and desktop applications using C# and .NET. <a href="https://arctouch.com/xamarin-developers">Development with .NET MAUI</a> is best for integrating with the broader .NET ecosystem. It also offers strong support for enterprise-level applications, leveraging tools and services provided by Microsoft. .NET Maui’s single project structure also helps when targeting multiple platforms and simplifies project management.</p><h3>Need help with your cross-platform app development project?</h3><p>ArcTouch has been building cross-platform apps since the dawn of the App Store. <a href="https://arctouch.com/contact">Contact us</a> to learn how cross-platform development can help accelerate your product roadmap and save you money.</p><p><em>Originally published at </em><a href="https://arctouch.com/blog/kotlin-multiplatform"><em>https://arctouch.com</em></a><em>.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=82ec023448c7" width="1" height="1" alt=""><hr><p><a href="https://medium.com/arctouch/kotlin-multiplatform-cross-platform-app-development-82ec023448c7">Kotlin Multiplatform &amp; Cross-Platform App Development</a> was originally published in <a href="https://medium.com/arctouch">ArcTouch</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Key takeaways from Figma Config 2024 and the rise of AI-powered processes]]></title>
            <link>https://medium.com/arctouch/key-takeaways-from-figma-config-2024-and-the-rise-of-ai-powered-processes-d5d15fd4e819?source=rss----54f6cfdf05bc---4</link>
            <guid isPermaLink="false">https://medium.com/p/d5d15fd4e819</guid>
            <category><![CDATA[ux-design]]></category>
            <category><![CDATA[product-design]]></category>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[figma]]></category>
            <category><![CDATA[figma-config]]></category>
            <dc:creator><![CDATA[Pedro Pazitto]]></dc:creator>
            <pubDate>Sat, 03 Aug 2024 19:39:15 GMT</pubDate>
            <atom:updated>2024-08-03T19:39:15.115Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="a collection of new Figma screenshots from the 2024 Config conference" src="https://cdn-images-1.medium.com/max/1024/1*li1MSrLJnI9J6QVsKYxI6Q.png" /></figure><p>Last week, Figma hosted its annual Config 2024 conference and unveiled a series of exciting new features and updates. According to this recent <a href="https://uxtools.co/survey/2023/">design tools survey</a>, Figma is the leader in digital product design software — and is used by our <a href="https://arctouch.com/app-designers">UX/UI designers</a> every single day.</p><p>Unsurprisingly, artificial intelligence took center stage at Config 2024, echoing the industry’s growing focus on AI-powered tools. Figma announced a comprehensive suite of AI capabilities, a completely revamped user interface, an enhanced Dev Mode experience with Code Connect, improvements on existing features, and a new product called Figma Slides.</p><p>At ArcTouch, we have been <a href="https://arctouch.com/blog/ai-design-mood-boards">using AI in our design process</a> to enhance our workflow for over a year. However, we believe human creativity and empathy are irreplaceable elements in user experience design — and a key ingredient of our secret sauce for creating <a href="https://arctouch.com/blog/mvp-app-development">lovable digital products</a>.</p><p>With this perspective, here are some insights about the announcements at Config 2024 from members of the ArcTouch design team.</p><h3>Figma AI-powered design workflow assistance</h3><p>Figma’s introduction of native AI capabilities marks a significant shift in how UX and UI designers approach their work. The AI-generated components, smart rearranging, and automatic auto-layout features promise to streamline repetitive tasks, potentially freeing up designers to focus on more strategic aspects of their projects.</p><p>We must consider how to best leverage these tools without becoming overly reliant on them. The Make Design and Replace Content features, for example, could serve as excellent starting points for brainstorming and ideation. Yet, we must maintain our critical design eye and ensure that AI suggestions align with brand guidelines and user needs. ArcTouch designer Fabiana Biazotto said,</p><blockquote><strong>“How can we avoid having all of our designs look the same if AI feeds on the current serial patterns? With creative thinking and innovation.”</strong></blockquote><p>Our team is especially interested in new AI features like Make Prototype, as this will help us kickstart the prototyping process and speed up user testing preparation.</p><figure><img alt="a screenshot of the action panel for Figma’s new AI features" src="https://cdn-images-1.medium.com/max/1024/1*FKnBErCyXDdaoGP89aWzpg.png" /><figcaption>Figma AI features will be accessible through an action panel or a new keyboard shortcut: ⌘+K. SOURCE: Figma blog</figcaption></figure><p><em>[</em><strong><em>Editor’s note</em></strong><em>: After </em><a href="https://appleinsider.com/articles/24/07/07/figma-disables-ai-powered-make-design-feature-after-weather-app-rip-off"><em>some backlash</em></a><em> regarding the AI-powered Make Design feature and its training data, Figma has removed it and has not offered any timetable for reinstating it. Our design team is looking forward to using it again when it’s back!]</em></p><h3>UI3: Figma’s new interface and revamped features</h3><p>Figma’s UI overhaul, named <a href="https://help.figma.com/hc/en-us/articles/23954856027159-Navigating-UI3-Figma-s-new-UI">UI3</a>, demonstrates a deep understanding of designers’ needs. The customizable toolbar and improved dark mode are more than just cosmetic changes; they reflect a commitment to user experience within the tool itself, diminishing information overload and pushing designers to focus on their creations.</p><figure><img alt="animated side-by-side view of the old vs. the new Figma interface" src="https://cdn-images-1.medium.com/max/900/0*iRJlTwkTWVn4dS5G.gif" /><figcaption><em>A comparison of the old (left) and new (right) Figma interface. SOURCE: Figma blog</em></figcaption></figure><p>The updated Suggest Auto Layout helps designers create fully responsive components. ArcTouch designer Pedro Coelho says this feature will help speed up component creation. This will be especially helpful with the new fully responsive prototype preview.</p><figure><img alt="a screenshot of the new auto-layout functionality in Figma" src="https://cdn-images-1.medium.com/max/900/0*NS5spyqOQ0RRsxRz.gif" /><figcaption>Suggest Auto Layout helps designers create responsive components. SOURCE: Figma Learn</figcaption></figure><h3>Figma as a Cross-Functional Team Collaboration Platform</h3><p>With the enhancements to Dev Mode, FigJam (a whiteboarding tool), and the introduction of Figma Slides, it’s clear that Figma continues to move beyond a tool exclusively for designers. These features underscore something we’ve known since <a href="https://arctouch.com:443/blog/how-the-app-store-gave-rise-to-arctouch">the early days of ArcTouch</a> — the importance of cross-functional team collaboration in creating successful digital products. The Dev Mode updates help bridge the gap between design deliverables and developers, while Figma Slides extends the platform’s utility to product managers and other project stakeholders — even external ones.</p><p>This evolution reflects the design industry’s growing recognition that siloed workflows are inefficient — and often lead to miscommunication. Tools designed for entire project teams offer a more holistic approach to product development. Also, decentralizing design decisions challenges designers to think beyond pure aesthetics and consider the broader context of product development, from technical feasibility to business goals. As ArcTouch designer Alexandre Campos said,</p><blockquote><strong><em>“</em> Nothing great is made alone.”</strong></blockquote><p>The Dev Mode update — which alerts developers if a component or screen has been changed since marked as “Ready for Dev” — is particularly useful. <em>“The designer can also add notes explaining what exactly changed, streamlining communication,”</em> said ArcTouch Designer Deiver Brito.<em> “Now it’s easier to see a before-and-after view.”</em></p><figure><img alt="Screenshot of new Dev Mode in Figma" src="https://cdn-images-1.medium.com/max/1024/1*ifBMBYs9vbTGjKp8s65Ofw.png" /><figcaption>The Dev Mode new yellow alert notifies developers if design edits are made after an item is marked as “Ready for Dev.” SOURCE: Figma blog</figcaption></figure><h3>The verdict: Smarter Figma broadens its utility</h3><p>Figma Config 2024 demonstrated a commitment to meeting the evolving needs of designers and developers. The introduction of native AI-powered features — which existed previously as third-party plugins — coupled with improvements to core functionalities, positions Figma to maintain its leadership in the design tool space.</p><p>At ArcTouch, we’re excited to explore these new capabilities and integrate them into our design processes. The opportunity lies in using AI as a complement to human creativity, not a replacement. As we’ve written in our blog series about <a href="https://arctouch.com:443/blog/ai-software-development">using AI for software development</a>, AI is <em>“a technology we can use to augment our work — saving us some time in certain areas so we can focus on others.”</em></p><p>Letícia Regert, ArcTouch designer, said,</p><blockquote><strong>“Using AI is an opportunity to improve our workflows and focus on user experience — which is the core job of any designer anyway.”</strong></blockquote><p>While we embrace the efficiency and possibilities that AI brings to the table, we remain committed to the human-centric approach, ensuring that creativity, empathy, and user-focused thinking remain at the heart of our design philosophy. Meanwhile, the smarter, more useful Figma will have an even more important role in our broader design and development process.</p><h3>Need help with digital product design?</h3><p><a href="https://arctouch.com/contact">Contact us</a> if your company needs help designing lovable digital experiences. We can bring your ideas from concept to launch.</p><p><em>Originally published at </em><a href="https://arctouch.com/blog/figma-config-2024"><em>https://arctouch.com</em></a><em>.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=d5d15fd4e819" width="1" height="1" alt=""><hr><p><a href="https://medium.com/arctouch/key-takeaways-from-figma-config-2024-and-the-rise-of-ai-powered-processes-d5d15fd4e819">Key takeaways from Figma Config 2024 and the rise of AI-powered processes</a> was originally published in <a href="https://medium.com/arctouch">ArcTouch</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Accessibility User Testing Insights for Apps & Websites]]></title>
            <link>https://medium.com/arctouch/accessibility-user-testing-insights-for-apps-websites-aa37a91f53b7?source=rss----54f6cfdf05bc---4</link>
            <guid isPermaLink="false">https://medium.com/p/aa37a91f53b7</guid>
            <category><![CDATA[web-development]]></category>
            <category><![CDATA[app-development]]></category>
            <category><![CDATA[best-practices]]></category>
            <category><![CDATA[accessibility]]></category>
            <category><![CDATA[user-research]]></category>
            <dc:creator><![CDATA[Team ArcTouch]]></dc:creator>
            <pubDate>Fri, 28 Jun 2024 13:39:44 GMT</pubDate>
            <atom:updated>2024-07-11T19:14:31.941Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*2s1wXC3CGoSskmCQAowf7w.png" /></figure><p><em>[</em><strong><em>Editor’s note</em></strong><em>: ArcTouch product designers Juliana Mendonca and Paulo Germano, who specialize in accessible apps and websites, wrote this article.]</em></p><p>User testing is a key part of any digital product design and development process. And when it comes to building accessible products, it’s essential. Why? Many users rely on accessibility features — and without them, they’d simply be unable to use digital technology. To get a sense of how many people can benefit from more accessible apps and websites, read our post about <a href="https://arctouch.com/blog/accessibility-first-app-development">accessibility-first app development</a>. It’s way more than you think.</p><p>So, while user testing is always a best practice, it’s especially important to test accessibility features with those that depend on them. (For more best practices about building accessible apps, download our <a href="https://arctouch.com/blog/app-accessibility-checklist">free app accessibility checklist</a>.)</p><p>Our <a href="https://arctouch.com/services/accessibility">app accessibility experts</a> recommend <a href="https://makeitfable.com/">Fable</a>, an accessibility testing platform to test working products and design concepts with disabled users. In this post, we share seven insights and actionable best practices we’ve learned from using Fable to test apps and websites.</p><h3>1. Screen magnification is great — but when poorly implemented, it causes other problems.</h3><p>Screen magnification empowers users with visual impairments to enlarge content. However, poorly implemented designs can hinder navigation and content discovery when using screen magnification. During recent disabled user testing of our upcoming new ArcTouch website, participants who used screen magnification had trouble locating navigation elements and main menu items in the wireframe. This was primarily due to the lack of visual cues indicating the presence of additional content beyond the immediately visible area. It wasn’t clear that scrolling or further exploration was necessary.</p><p>One tester emphasized the need for improved visual cues to enhance content discoverability. They suggested using “color contrast and more visual cues like borders around tiles” to make elements more easily identifiable, even when zoomed in.</p><p>In this session, you can see that our wireframe did not use any visual cues to make the selectable fields identifiable:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*-RiNKFFrUKQYEzKu.png" /></figure><p>Our final prototype better defines elements, so users can see the selected tab (underlined), along with the orange section that indicates more content below:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*QfJdKWds2OoITSrO.png" /></figure><h3>Related accessibility best practices</h3><ul><li><strong>Make it responsive</strong>. Prioritize responsive design principles so content displays properly across various screen sizes and resolutions.</li><li><strong>Define elements</strong> with borders or other visual separators (e.g., arrows or partially visible elements).</li><li><strong>Use consistent navigation patterns</strong> and predictable element placement.</li></ul><h3>2. Negative space enhances user navigation.</h3><p>Negative space, also known as white space, is crucial for enhancing accessibility for users who rely on assistive technologies. By providing ample space between elements, negative space offers numerous benefits, such as:</p><ul><li><strong>Accommodation for assistive technology UI</strong>: Negative space creates room for user interfaces added by assistive technologies (e.g. screen reader cursors and voice control menus) without disrupting the page layout or causing visual clutter.</li><li><strong>Improved navigation</strong>: Negative space ensures a clear separation between elements for users navigating with keyboard shortcuts, grid navigation, or numbers navigation. This prevents confusion, making it easier to identify and interact with the desired content.</li><li><strong>Enhanced focus</strong>: Negative space helps users focus on the core content by reducing visual distractions and cognitive overload. This is particularly beneficial for users with cognitive or visual disabilities.</li></ul><p>During a user testing session, we observed a participant use grid navigation and numbers navigation to browse links on a website.</p><h3>Related accessibility best practices</h3><ul><li><strong>Use ample negative space</strong> (white space) around elements to optimize user interfaces for assistive technologies.</li><li><strong>Implement consistent margins, padding, and spacing</strong> between interactive elements to prevent misclicks and enhance clarity.</li><li><strong>Use a minimum touch target size</strong> of 44×44 pixels for touch interfaces, as recommended by WCAG for websites. Android’s Material UI guidelines recommend a target size of at least 48×48 pixels. While Apple’s Human Interface Guidelines recommend a target size of at least 44×44 pixels.</li><li><strong>Use line spacing of at least 1.5 times the font size</strong> to improve readability.</li></ul><h3>3. A white background can fatigue users with low vision.</h3><p>Although clean and simple interfaces with white backgrounds are often admired for their clarity, they may cause problems for users with low vision or sensitivity to light. The brightness can cause eye strain, fatigue, and headaches, making it tough for users to interact with digital content.</p><p>During user testing, we witnessed the negative impact of bright white backgrounds. One visually impaired participant described the experience as “like looking at the sun,” highlighting the discomfort it caused.</p><p>To address this issue, providing a dark mode option is crucial for accessible apps and websites. Dark mode inverts the color scheme, using a darker background with lighter text. This significantly reduces the screen’s brightness, alleviating eye strain and improving comfort for light-sensitive users.</p><p>As one of our user testers explained, dark mode can even reduce the need for screen magnification tools. The enhanced contrast and reduced glare make content easier to perceive, allowing users to comfortably navigate at standard magnification levels.</p><h3>Related accessibility best practices</h3><ul><li><strong>Implement both a light and dark mode</strong> to give users the choice to adjust screen brightness and improve content visibility.</li><li><strong>Offer sufficient color contrast</strong> between text and background.</li></ul><h3>4. UI Labels need to be precisely descriptive — but brief.</h3><p>Crafting effective UI labels presents a unique challenge in user experience design, requiring a balance between clarity and conciseness to cater to diverse user needs.</p><p>In a recent accessibility testing session, the user confirmed that overly brief labels like “more” don’t offer enough context. This ambiguity can leave users uncertain about the action’s outcome or the content they’ll encounter.</p><p>While adding hints or using more descriptive labels might seem like solutions, adding too much information introduces other challenges. Hints can be disabled by users in the OS settings. Meanwhile, longer labels can pose difficulties for screen magnification users or those who rely on alternative navigation methods.</p><h3>Related accessibility best practices</h3><ul><li><strong>Prioritize contextual clarity</strong>. When writing labels, aim for brevity while still maintaining clarity.</li><li><strong>Use simple and commonly understood language</strong>. Avoid jargon or unnecessary words.</li><li><strong>Use accessibility hints with discretion. </strong>Use only when there is no way to make labels self-explanatory.</li><li><strong>Apply tooltips and hover states</strong> to provide additional information without cluttering the main label. These can reveal further details on demand, enhancing clarity without impacting the core label’s conciseness.</li><li><strong>Implement informational modals</strong> to allow users to get more information when an element may need more explanation than the interface affords.</li><li><strong>Conduct regular user testing</strong>, including with those using assistive technologies. Gather feedback on label clarity and conciseness to make iterative improvements for optimal accessibility and usability.</li></ul><h3>5. Alt-text for images must be clear but not too long.</h3><p>Like labels, writing effective alt-text is a balancing act. It requires clear descriptions and brevity to optimize the experience for screen reader users.</p><p>User testing consistently reveals the positive impact of well-written alt text. Descriptive and helpful alt text is often one of the first elements screen reader users encounter, significantly shaping their initial understanding and overall experience.</p><p>However, a challenge arises when dealing with multiple images or complex visual elements. Overly long alt-text descriptions can become cumbersome and time-consuming for screen reader users to navigate. As one tester recently highlighted, lengthy descriptions for non-essential elements are frustrating and hinder their ability to efficiently find the information they want.</p><p>Here you can see that the label descriptions for the on-screen avatars overlap one another:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/378/0*63EH-w3yyZla9XeC.png" /></figure><h3>Related accessibility best practices</h3><ul><li><strong>Identify the function of the image</strong>. Is it purely decorative, or does it convey essential information (e.g., product photos, charts, and diagrams)?</li><li><strong>Analyze the image’s content</strong> in relation to the surrounding text or interface elements. Is the same meaning conveyed to all users?</li></ul><h3>6. Small target areas can frustrate those with fine motor disabilities.</h3><p>Small target areas within user interfaces pose significant accessibility barriers for individuals with fine motor control disabilities. They may experience difficulty precisely targeting small areas, resulting in unintended clicks or taps and increased frustration with an app or website. Repeated challenges in interacting with small targets can cause users to abandon tasks or leave the application altogether.</p><p>One participant of a recent accessibility user testing session uses head movements for cursor control. They shared their experience with websites: “When I was first learning to use my head, I wasn’t very precise… it would have been helpful to have a big clickable area.”</p><p>This user further highlighted the added challenges faced in public or shared office environments (e.g. a desk that shakes when coworkers walk by). “Sometimes my cursor can be a bit jumpy, and it’s a lot harder to click in a (small) area.”</p><h3>Related accessibility best practices</h3><ul><li><strong>Provide ample spacing</strong> between interactive elements to prevent accidental clicks or taps and enhance clarity. For optimal usability and accessibility, maintain a minimum spacing of 8 pts between interactive elements on iOS, 8 dps on Android, and 8 px on Web platforms.</li><li><strong>Group elements together that share a single action</strong> to create a larger target (e.g., a card component where the entire area should be selectable rather than just the card title).</li></ul><h3>7. Button feedback is crucial for screen magnification.</h3><p>Clear and consistent feedback is crucial for providing a smooth user experience, especially for those who use screen magnification to navigate digital interfaces. During a recent accessibility test, a user who relies on screen magnification pointed out a common issue: A user pressed next ( <strong>as shown below</strong>) on a button, but the magnified screen didn’t show the action that the button activated, and the next button itself did not provide visual feedback. This lack of feedback can cause frustration and uncertainty and lead to users abandoning tasks.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/149/0*Iq0feMWn1n68QOfv.png" /></figure><h3>Related accessibility best practices</h3><ul><li><strong>Use apparent visual cues</strong> to indicate button states like hover, active, and pressed. Ensure changes in states are noticeable even when using screen magnification.</li><li><strong>Incorporate subtle yet clear audio cues</strong> (e.g. clicks) for confirmation, and provide options for users to customize or disable these.</li><li><strong>Enable haptic feedback</strong> (vibration) for tactile confirmation (if supported by the device). This provides an additional layer of input beyond visual and audio cues.</li></ul><h3>Need help building accessible apps and websites?</h3><p>For more than 15 years, ArcTouch has helped companies create lovable apps and websites. Whether you’re building a new product or want to improve the accessibility of an existing one, our <a href="https://arctouch.com/services/accessibility">accessibility experts</a> can help. <a href="https://arctouch.com/contact/">Contact us</a> today for a free consultation.</p><p><em>Originally published at </em><a href="https://arctouch.com/blog/accessibility-user-testing"><em>https://arctouch.com</em></a><em>.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=aa37a91f53b7" width="1" height="1" alt=""><hr><p><a href="https://medium.com/arctouch/accessibility-user-testing-insights-for-apps-websites-aa37a91f53b7">Accessibility User Testing Insights for Apps &amp; Websites</a> was originally published in <a href="https://medium.com/arctouch">ArcTouch</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[How to Use AI to Generate Mood Boards for UI Design]]></title>
            <link>https://medium.com/arctouch/how-to-use-ai-to-generate-mood-boards-for-ui-design-b5df9e35c6fb?source=rss----54f6cfdf05bc---4</link>
            <guid isPermaLink="false">https://medium.com/p/b5df9e35c6fb</guid>
            <category><![CDATA[app-development]]></category>
            <category><![CDATA[ux-design]]></category>
            <category><![CDATA[generative-ai-use-cases]]></category>
            <category><![CDATA[ui-design]]></category>
            <category><![CDATA[ai]]></category>
            <dc:creator><![CDATA[Team ArcTouch]]></dc:creator>
            <pubDate>Fri, 28 Jun 2024 13:39:24 GMT</pubDate>
            <atom:updated>2024-06-28T13:39:24.861Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Uo_vEo9ohbVNE_qeq9M37A.png" /></figure><p><em>[</em><strong><em>Editor’s note</em></strong><em>: This is the third in a series of blog posts about how builders can </em><a href="https://arctouch.com/tag/injecting-ai-into-software-development"><em>inject AI into their software development process</em></a><em>. This article was written by Thais Kashmir and Lari Didone, members of ArcTouch’s award-winning </em><a href="https://arctouch.com/services/app-designers"><em>digital product design</em></a><em> team.]</em></p><p>After 15 years of creating lovable apps and websites, we follow the same general process we’ve perfected across 500 projects. That process typically starts with research and discovery from our product strategists, designers, and engineers.</p><p>We recently wrote about <a href="https://arctouch.com/blog/ai-app-strategy">how to use AI for app strategy and research</a>. AI also offers tremendous value in the early phases of this process for <a href="https://arctouch.com/services/app-designers">UX/UI designers</a>.</p><p>A clear example of how AI is helping our design team is creating mood boards. A mood board is a collection of curated images that guide the possible colors, fonts, textures, and animations in a project. They are the North Star of the UI visual style in apps and websites.</p><p>When we start considering the user experience and visual design for a new app or website, the potential paths seem limitless. Just gathering and organizing branding materials and visual references from competitive companies, even narrowly defined, can take many hours. <strong>So many hours</strong> that we humans sometimes don’t feel like we have enough time to properly analyze those materials — before we define the path forward for our projects.</p><p>In this post, we share step-by-step details of how we used AI to research and create a mood board for our ArcTouch website redesign project. <em>(</em><strong><em>Editor’s note:</em></strong><em> This project is active, so stay tuned for more later!)</em></p><p>You’ll see how generative AI is a powerful tool that ultimately allows us human designers to focus on what we do best: Creating lovable experiences.</p><h3>Mood board AI experimentation</h3><p>Before starting on an actual project, we wanted to experiment with AI to see how close it could get to generating the types of mood boards we like to use in our design process.</p><p>We identified the elements of an effective prompt:</p><ul><li><strong>The output</strong>: “an image of a digital product mood board.”</li><li><strong>The style</strong>: e.g. Minimalist, Navy, Playful, Modern, or Retro.</li><li><strong>Examples of references</strong> <strong>and desired elements</strong>, such as colors, scenery, and icons.</li></ul><p>We tried the following prompt:</p><p><em>“Create an image of a retro-futurist style digital product mood board. The image shows a color palette, icons, and a lifestyle scenery.”</em></p><p>The result was encouraging:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/768/0*_IQNMtP-Mdm5wMsL.png" /></figure><p>The generative model understood the structure, elements, layout, and visual style we were looking for. It was a bit too abstract, but it gave us confidence that this approach and tool was going to satisfy our needs.</p><p>For the second test, we changed some information, such as the product and visual theme we were interested in:</p><p><em>“The image is a children’s digital product mood board. The image shows a color palette and a family-focused image.”</em></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/768/0*odxDZcwhtzhB8ZV6.png" /></figure><p>The human figures looked uncanny and even comic (although this has since improved from the various generative AI models). We were intrigued by the color palette and patterns. This encouraged us and confirmed that AI when thoughtfully managed by our human designers, could generate a mood board quickly.</p><p>Ultimately, we learned it would take more than a single prompt to get to our desired outcome.</p><h3>How we used AI to create a mood board</h3><p>We started our website redesign process the same way we start any client project: with lots of research. We interviewed all of our business stakeholders to understand requirements, analyzed our current site, and even talked to some of our current customers to understand what they would expect to find on our website.</p><p>This process can be challenging because it often takes place over a short period of time — and the directions it could take are almost infinite. Meanwhile, subjective tastes also influence outcomes — and differences in opinion can sometimes stifle a project.</p><p>So we thought: AI is trained on massive amounts of information to understand commonly held beliefs and information. Therefore, if we help it understand our brand identity, then it should be able to find visual references that represent our brand. And maybe this could streamline our process to identify a concise vision and ultimately create our mood board for the project.</p><p>So we put the idea to the test. The first thing we needed was a list of keywords that represented our brand.</p><h3>Step 1: Identify brand identity keywords</h3><p>Writing great prompts starts with the language we use. AI tools and humans can only succeed in a task if they are provided clear instructions and the appropriate contextual information.</p><p>To obtain the desired aesthetic, we interviewed members of ArcTouch’s leadership, design, and marketing teams to define the most important keywords and phrases that represent our brand.</p><p>Here’s what we came up with:</p><ul><li>Build lovable products</li><li>Lovable workplace</li><li>We are very reliable</li><li>Commitment</li><li>Sense of ownership</li><li>We care about the results</li><li>Trust</li><li>Polish</li><li>Useful</li><li>Refinement</li><li>Delightful</li><li>Accessible</li><li>High quality</li><li>Technology</li><li>Premium</li><li>Modern</li></ul><h3>Step 2: Apply keywords to the prompt structure</h3><p>We used the keywords and phrases identified in Step 1 in various combinations for our mood board AI prompt structure that we tested during the design experimentation.</p><ul><li>The output</li><li>The style</li><li>Examples of references and elements</li></ul><p>Now, the fun part — prompting and iteration.</p><h3>Step 3: Prompt iterations and results</h3><p>When we started this exercise, we didn’t know how much of the AI-generated content we’d use in our final mood board. We expected that the output might not be completely usable as-is and that actual creative hands-on work would be required to finish this task. What follows are a series of prompt experimentations that generated useful results. For brevity, we didn’t include every variation of prompts we tried, which didn’t generate useful content.</p><p>We started with colors. Our branding is known for its bright orange color, so with our first prompt, we kept it simple and direct:</p><p><em>“The image is a modern, refined, and affordable style digital product mood board. The image shows a color palette considering the color orange, icons, and images.”</em></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/768/0*j_C4zlAuocIh6zCR.png" /></figure><p>The result captured the overall feeling we wanted. The composition with orange was interesting and gave us an optimistic view of what would be possible to create. It understood the concept of a color palette. And we liked the overall contrast and distribution of elements. Now, we wanted to dig deeper into technology and our keywords, so we followed with these prompts and results:</p><ol><li><em>“The image is a modern, refined, and polished technological style website mood board. The image shows a palette of colors, icons, and images.” (shown at top-left below)</em></li><li><em>“The image is a mood board of a handy, technological, high-tech, modern digital product. The image shows a palette of colors, icons, and patterns.” (shown at top-right below)</em></li><li><em>“The image is a mood board of a premium, technological, high-tech, affordable, and modern digital product. The image shows icons, images, and patterns.” (shown at bottom-left below)</em></li><li><em>“The image is a mood board of a modern, polished, refined, useful, accessible technological product. The image shows icon styles and images.” (shown at bottom-right below)</em></li></ol><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*UJZ0aNd5xKVsf-Kl.png" /></figure><p>The subtle variations in our prompts led to a nice array of elements, patterns, and visual styles. Through the experiments, we gained a sense of how the AI tool was working; sometimes, it generated truly original and inspiring results, fusing different elements and, in so doing, creating something completely new.</p><p>When we felt we had enough material to define our direction, it was time to assemble the final board.</p><h3>Step 4: Create the final mood board</h3><p>Like when a designer goes through their inspiration board and selects the references for any project, we faced the task of assembling our website mood board in much the same way. Starting with colors from our first prompt, we selected portions that were more connected to how we wanted to present our branding: minimalist, energic, and modern.</p><p>From the other prompts, we looked closely through the visual references connected to technology. The images with concise round patterns against white backgrounds with soft diffuse light captured the feeling of “polished” that we were aiming for. We added some diffuse light orange elements that could serve as inspiration when we wanted to be more playful with the branding tones. Our human-led, AI-injected process culminated in this final mood board:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/916/0*KRZQsVAAjwYjY1PM.png" /></figure><p>We now had our visual North Star for the next phase of our website UI design.</p><h3>Key takeaways from using AI to generate mood boards</h3><p>Using AI to help create that mood board definitely saved us some time researching the universe of references and possibilities.</p><p>In addition to saving time, the tool provided incredible and surprising results. From just a few keywords entered, we saw results with different levels of complexity that inspired and aligned us as we continued on this project’s creation and design journey.</p><p>Here are some of our other key takeaways from using AI on this design project:</p><ul><li><strong>Prompting trial and error is crucial:</strong> You need to explore, test, evaluate keywords, and even tweak sentence structure to take AI where you want to go. While our five prompts shown above generated useful and inspiring results, dozens of other prompts didn’t.</li><li><strong>Take an iterative approach</strong>: Through the prompts we shared above, you can see the evolution of the visual output. Each prompt had subtle changes based on how the previous one performed. This iterative refinement helped keep the outputs related while offering slightly different results.</li><li><strong>Keyword mapping is fundamental</strong>: Defining accurate keywords is fundamental to ensuring results are in line with your brand. Use a balance of descriptive and broad terminology to guide the output without limiting creative possibilities.</li><li><strong>Generative AI is great for components, not necessarily the whole</strong>: As you read, AI generated some great components we used as a part of our final mood board. This is consistent with how many professionals are using generative AI tools. It’s great at accelerating parts of a process or project (including how we’ve used <a href="https://arctouch.com/blog/ai-app-strategy">AI for app research in our discovery workshops</a>). However, our experienced designers ultimately decided what to include in our final mood board.</li></ul><p>Overall, using AI to generate mood boards served its purpose. It provided both inspiration and direction for our designers, simplifying what could have been an exhaustive and time-consuming research process. The tool offered diverse results from our keywords. It served as design inspiration. And it saved us time upfront, so we could move on to what we do best: designing lovable experiences.</p><h3>Follow along</h3><p>To read our series about injecting AI into software development, join our mailing list and follow us on <a href="https://www.linkedin.com/company/arctouch">LinkedIn</a> and <a href="https://twitter.com/ArcTouch">X</a>.</p><h3>About ArcTouch</h3><p>ArcTouch has been building lovable apps, websites, and connected experiences for more than 15 years. And now we’re <a href="https://arctouch.com/tag/injecting-ai-into-software-development">using AI to do that faster and better</a> than ever before. Want to learn more? <a href="https://arctouch.com/contact/">Contact us</a> for a free consultation.</p><p><em>Originally published at </em><a href="https://arctouch.com/blog/ai-design-mood-boards"><em>https://arctouch.com</em></a><em>.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=b5df9e35c6fb" width="1" height="1" alt=""><hr><p><a href="https://medium.com/arctouch/how-to-use-ai-to-generate-mood-boards-for-ui-design-b5df9e35c6fb">How to Use AI to Generate Mood Boards for UI Design</a> was originally published in <a href="https://medium.com/arctouch">ArcTouch</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Electron vs. Wails: Choosing the Right Framework for Your Desktop Application]]></title>
            <link>https://medium.com/arctouch/electron-vs-wails-choosing-the-right-framework-for-your-desktop-application-88e0959ed489?source=rss----54f6cfdf05bc---4</link>
            <guid isPermaLink="false">https://medium.com/p/88e0959ed489</guid>
            <category><![CDATA[development]]></category>
            <category><![CDATA[electron]]></category>
            <category><![CDATA[wails]]></category>
            <category><![CDATA[cross-platform]]></category>
            <category><![CDATA[desktop-application]]></category>
            <dc:creator><![CDATA[Bruno Cordioli Machado]]></dc:creator>
            <pubDate>Wed, 01 May 2024 13:20:55 GMT</pubDate>
            <atom:updated>2024-05-01T13:20:55.636Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*OnouWCToD0745uvw6uQhWQ.png" /><figcaption>Wails vs Electron</figcaption></figure><p><a href="https://arctouch.com/services/flutter-development">Cross-platform application development</a> has become increasingly popular, with developers seeking efficient ways to create single codebase applications that run seamlessly on multiple operating systems. Two prominent frameworks have gained significant attention recently: <a href="https://www.electronjs.org">Electron</a> and <a href="https://wails.io">Wails</a>. This article discusses their features, strengths, and weaknesses to help developers decide when choosing the best fit for their projects.</p><h3>Electron</h3><p>Electron is an open-source framework that enables developers to build cross-platform desktop applications using web technologies like HTML, CSS, and JavaScript. Electron was initially developed for the Atom text editor and has evolved into a flexible platform for creating a wide range of apps, including code editors, messaging services, and media players.</p><h4>Key Features of Electron:</h4><ul><li><strong>Chromium Rendering Engine</strong>: Electron uses the Chromium open-source project to render the application’s user interface.</li><li><strong>Node.js Integration</strong>: Electron combines the power of Chromium with the Node.js runtime, enabling developers to access native operating system features and functionalities through JavaScript APIs.</li><li><strong>Electron Forge and Packaging</strong>: Electron Forge is an official tool that simplifies creating and packaging Electron applications. It streamlines the development, packaging, and distribution process, making deploying applications on different platforms easier.</li><li><strong>Community and Ecosystem</strong>: Electron has a large and active community, contributing to an extensive ecosystem of plugins, libraries, and tools. These resources help developers extend the capabilities of their applications and address various use cases.</li><li><strong>Auto-Updating</strong>: Electron supports automatic application updates, allowing developers to push updates to users seamlessly.</li></ul><h3>Wails</h3><p>Wails is a more recent framework that approaches cross-platform development differently. It delivers a desktop application that combines the effectiveness and performance of the Golang for its backend, with web technologies for its user interface.</p><h4><strong>Key Features of Wails:</strong></h4><ul><li><strong>Webview-based UI</strong>: Wails uses a webview approach to create the user interface (UI). It embeds a web browser component within the application, where developers can build the front-end using standard web technologies such as HTML, CSS, and JavaScript/TypeScript.</li><li><strong>Go Language Integration</strong>: Wails allows developers to write the backend logic of their desktop applications in Go, a statically typed and efficient programming language. Go’s performance and concurrency capabilities make it an excellent choice for desktop applications.</li><li><strong>Two-Way Communication</strong>: Wails enables communication between the front-end (webview) and the backend (Go). This two-way communication allows developers to pass data and events between the two layers of the application.</li></ul><h3>Performance Comparison</h3><p><strong>Electron</strong>: Electron bundles the application with a Chromium-based browser, which can consume a significant amount of system resources, particularly memory (RAM). Electron applications tend to have longer startup times than native applications due to the time needed to initialize the browser window and load the JavaScript runtime. Users may perceive slower startup times for Electron apps, especially on lower-end hardware.</p><p><strong>Wails</strong>: Wails applications are compiled into native binaries for each platform, meaning that the application’s performance benefits from being closer to the hardware, resulting in faster execution and reduced startup times compared to interpreted scripting languages. Wails allows direct interaction with the underlying system through Go’s native API bindings leading to efficient and responsive interactions with system resources.</p><h3>Ecosystem and Community Support</h3><p><strong>Electron</strong>: Electron was created in 2013 and has widespread adoption, and a strong community and developer ecosystem. The vast community of Electron developers contributes to many available plugins, libraries, and extensive documentation. Developers using Electron can find solutions to common challenges more easily and benefit from continuous improvement driven by the active community.</p><p><strong>Wails</strong>: Being a relatively newer tech, Wails has more of a niche community of people that like building things with Golang. The Wails community is growing steadily, and the ecosystem is expected to expand further.</p><h3>Size of the Final Application</h3><p><strong>Electron</strong>: The size of an Electron application starts with the framework itself. Electron includes a stripped-down version of the Chromium browser, which is used to render the user interface and execute JavaScript. This base size contributes to the overall size of the application. Also, Electron allows you to package the Node.js runtime with your application. Depending on the version and features of Node.js included, this can impact the overall size.</p><p><strong>Wails</strong>: Wails relies on the user’s system browser for rendering web content, reducing the application’s size. Also, Wails applications are compiled into native binaries for the target platform. This means that the final application consists of only the necessary components for that platform, resulting in a smaller overall size.</p><h3>Cross-Platform Packaging and Distribution</h3><p><strong>Electron</strong>: Distribution-wise, Electron’s <a href="https://www.electronforge.io/">Electron Forge</a> does much of the heavy lifting, creating multiple types of installers for all platforms. You can use Squirrel or Wix for Windows installers. DMG files for MacOS installers. And various types of packages for Linux, like Deb and Flatpak.</p><p><strong>Wails</strong>: In terms of installers, Wails only provides NSIS-type installers for Windows. For all the other platforms, the developer needs to create the installers themselves. Which is a bit of a problem for supporting all different platforms and operating systems</p><h3>Developer Experience and Learning Curve</h3><p>For developer experience, both frameworks have their advantages. Electron caters to developers familiar with web technologies, allowing them to leverage their existing skills to create desktop applications.</p><p>Conversely, Wails may require a learning curve for web developers who need to become familiar with Go.</p><p>But both frameworks are very straightforward to use and integrate into existing projects, providing numerous templates and tutorials for integration and usage. However, Electron has a slight advantage in the sheer amount of community projects using it today. Getting a similar open-source project to base your project on is very easy.</p><h3>Project Use Cases</h3><p>Choosing between Electron and Wails ultimately depends on the project’s specific requirements and the development team’s priorities. Here are some scenarios where one framework may be more suitable than the other:</p><p><strong>Electron is ideal for:</strong></p><ul><li>Cross-platform compatibility is a critical requirement for your application.</li><li>Developers familiar with web technologies looking for a quick start in desktop application development.</li><li>Developing a feature-rich application where faster initial development might be more critical than minimal resource usage.</li></ul><p><strong>Wails is ideal for:</strong></p><ul><li>Projects where high performance and efficiency are crucial.</li><li>Developers are seeking a secure and statically-typed language for backend development.</li><li>Applications that require resource-efficient distribution, especially for low-powered devices.</li></ul><h3>Conclusion</h3><p>In conclusion, Electron and Wails are powerful frameworks for cross-platform application development, each with advantages and use cases. Electron is well-suited for developers familiar with web technologies who prioritize a vast community ecosystem. On the other hand, Wails excels in performance and efficient resource usage, making it a strong choice for developers who require high-performance backend capabilities.</p><p>The choice between Electron and Wails should be based on the project’s specific requirements, the development team’s skillset, and the application’s performance needs.</p><p>At <a href="https://arctouch.com/">ArcTouch</a>, we help companies create engaging apps, websites, and connected experiences. See some of <a href="https://arctouch.com/portfolio">our work</a>.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=88e0959ed489" width="1" height="1" alt=""><hr><p><a href="https://medium.com/arctouch/electron-vs-wails-choosing-the-right-framework-for-your-desktop-application-88e0959ed489">Electron vs. Wails: Choosing the Right Framework for Your Desktop Application</a> was originally published in <a href="https://medium.com/arctouch">ArcTouch</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Secure Front-End Development]]></title>
            <link>https://medium.com/arctouch/secure-front-end-development-1179df166878?source=rss----54f6cfdf05bc---4</link>
            <guid isPermaLink="false">https://medium.com/p/1179df166878</guid>
            <category><![CDATA[web-development]]></category>
            <category><![CDATA[cybersecurity]]></category>
            <category><![CDATA[best-practices]]></category>
            <category><![CDATA[front-end-development]]></category>
            <category><![CDATA[development]]></category>
            <dc:creator><![CDATA[Marcelle Vargas]]></dc:creator>
            <pubDate>Wed, 10 Apr 2024 13:48:33 GMT</pubDate>
            <atom:updated>2024-04-10T13:48:33.878Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*I6yXid2J5P31sQikB8d-vw.jpeg" /><figcaption>html tag</figcaption></figure><p>Front-end development is a crucial area for <a href="https://arctouch.com/services/web-developers">web developers</a>, standing out for its ability to create interactive and appealing user interfaces. This area encompasses a variety of technologies and tools, enabling developers to work in an agile and efficient way, implementing innovative functionalities that enhance the user experience. However, in addition to focusing on performance, accessibility, and usability, front-end developers must adopt secure development practices to ensure the protection and privacy of users.</p><h3>Attacks Originating from the Front-end</h3><p>Certain types of cyber attacks can originate from the front-end if it is developed with some vulnerabilities. Gaining an understanding of how to enhance the security of an application necessitates a comprehension of some attacks that may stem from the front-end.</p><h4>Cross-Site Scripting (XSS)</h4><p>Cross-Site Scripting (XSS) attacks are exploited through vulnerabilities in web applications, allowing external malicious code to be injected and executed in the context of the original application. This type of attack can have serious consequences, including the leakage of sensitive information, both from the system and from users interacting with the compromised site. This potential vulnerability puts the integrity and confidentiality of data at risk, making it essential to implement appropriate security measures to protect applications against this type of threat.</p><h4>Cross-Site Request Forgery (CSRF)</h4><p>Cross-Site Request Forgery (CSRF) attacks occur when authenticated users in a system are manipulated to perform unwanted actions without their knowledge. In these attacks, the malicious script is not directly inserted into the target system. Instead, these attacks exploit the active sessions of users, using cookies stored in the browser. This causes the system to mistake the malicious requests as legitimate, originating from the users themselves, leading to the execution of unauthorized actions.</p><h4>Insecure Direct Object References (IDOR)</h4><p>Insecure Direct Object References (IDOR) is a vulnerability that occurs when a web application exposes direct references to internal data. This allows attackers to access or manipulate data that they should not have access to, by exploiting these references. Essentially, IDOR violates access restrictions and permissions, enabling the attacker to view or modify information beyond their authorized permission scope.</p><h3>Fortifying the Front-end</h3><p>Although the front-end alone cannot ensure the full security and integrity of a system, this article aims to explore ways in which the front-end can significantly contribute to the security of applications.</p><p><strong>CSP Configuration</strong></p><p>CSP (Content Security Policy) is a policy that, when configured on the front-end, informs the browser about the origin of the scripts it can execute, disregarding external scripts. Ideally, this configuration should be implemented both on the back-end and the front-end, but if that’s not possible, adding it on the front-end will already contribute to making users more secure when accessing your site.</p><p>Recognizing the need to ensure user security, since 2016, the W3C has been advising developers to implement these configurations. To set it up in React.js, you can add a meta tag in the index.html file.</p><pre>&lt;meta http-equiv=&quot;Content-Security-Policy&quot; content=&quot;default-src &#39;self&#39;&quot;&gt;</pre><p><strong>Using Cookies Securely</strong></p><p>I think many people, upon reading about the vulnerability in the use of cookies, might consider stopping their use. Therefore, I need to emphasize that one of the principles of secure development is not the sole use of one practice, but rather a combination of practices that involve all areas of the development process. However, focusing on cookies, using them securely requires that some configurations be made on the back-end (such as Anti-CSRF Tokens and adding the ‘samesite’ attribute to cookies).</p><p>On the front-end, as a way to ensure the security of the application, do not store sensitive data in cookies and use them only as a means to enhance the user experience, such as storing their usage preferences.</p><p><strong>Use of Local Storage</strong></p><p>Local storage is often used in day-to-day development, but the data stored in it and the way it is stored require some care, as it is possible to access the information through JavaScript. Therefore, avoid storing sensitive information and, if you need to store session tokens, opt for tokens that expire.</p><p>For example, assume you are working on the front-end of a sales system and will store the session token to ensure that the user has access to the sales area of the system. Within the system, to ensure that this user can have access, it will be necessary to present a credential (a token) whenever information is requested. Ideally, this token should be generated and managed by the backend and needs to contain an expiration date. This way, on the front necessary, this token will be sent to the back end to validate that it is still valid.</p><pre>function verifyToken(apiUrl, key) {<br>    const token = localStorage.getItem(key);<br>    if (!token) {<br>        return;<br>    }<br><br>    fetch(apiUrl, {<br>        method: &#39;POST&#39;,<br>        headers: {<br>            &#39;Content-Type&#39;: &#39;application/json&#39;,<br>            &#39;Authorization&#39;: token<br>        }<br>    })<br>    .then(response =&gt; {<br>        if (response.status === 498) {<br>            localStorage.removeItem(key);<br>            return;<br>        } else if(response.status === 200)  {<br>            return token;<br>        } else {<br>            console.log(&#39;Received unexpected status:&#39;, response.status);<br>            return;<br>        }<br>    })<br>    .catch(error =&gt; {<br>        console.error(error);<br>    });<br>}</pre><p><strong>Input Sanitization</strong></p><p>Input sanitization is a fundamental practice in the development of secure applications, especially in terms of front-end security. This process involves cleaning and validating data entered by users to prevent vulnerabilities, such as SQL injection or Cross-Site Scripting (XSS) attacks.</p><p>By sanitizing inputs, potentially malicious characters are removed or escaped, ensuring that only safe and correctly formatted data are processed by the application. This approach not only protects the system against malicious manipulations but also preserves the integrity of the data and maintains the reliability of the user interface, being a critical component for the security and stability of modern web applications.</p><h3>Tools to Help You Ensure Security</h3><p><strong>DOMPurify</strong></p><p>DOMPurify plays a role in input security, which is an effective measure to mitigate the risks associated with the injection of malicious scripts, such as Cross-Site Scripting (XSS) attacks. This JavaScript library specializes in sanitizing HTML content, efficiently removing potentially dangerous elements and attributes.</p><p>By integrating DOMPurify into an application, developers can ensure that any content entered by users, such as comments or form entries, is cleansed of harmful scripts before being rendered in the browser. This not only protects the application but also enhances user safety, preventing the execution of malicious code and maintaining the integrity of the user interface.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/720/1*lAZ8KBWHFXppbWHw9dxrPA.png" /><figcaption>DOMPurify library</figcaption></figure><p><strong>NPM Audit</strong></p><p>The npm audit command is a built-in npm command that helps to check all dependencies installed in the project, to validate security vulnerabilities that have already been identified. When executed, it compares the versions of the packages used with a database of known security vulnerabilities and generates a detailed report. This report not only identifies vulnerable libraries but also presents alternatives to help with replacement and how to update to safer versions.</p><p>This functionality is extremely valuable for developers, as it helps to maintain the integrity and security of their applications, alerting them to potential risks and facilitating the management of vulnerable dependencies. Additionally, npm audit is a fundamental tool in continuous integration (CI) processes, contributing to the automation of vulnerability identification in the early stages of the development cycle.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/722/1*Q4KQPkJkudm52yRseBXCgw.png" /><figcaption>npm audit documentation</figcaption></figure><p><strong>Library for Anti-CSRF Tokens</strong></p><p>Depending on the project’s requirements, it may be necessary to store some information such as cookies on the server, and an alternative to do this securely, in addition to configuring the meta tag, is to use the csfr library.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/715/1*wYyqNnECiTr1PS5pBFiTMQ.png" /><figcaption>CSFR library</figcaption></figure><h4><strong>Conclusion</strong></h4><p>Front-end development security is an area where the adoption of safe practices becomes fundamental, integrating them from the beginning of the development process. Strategies such as the implementation of CSP, secure use of cookies, effective management of local storage, and sanitization of inputs are crucial steps for the protection of user data and the integrity of web applications.</p><p>With the introduction of AI tools in development, developers need to be even more attentive to the codes generated, adopting a critical approach in implementation to ensure security. This continuous process requires vigilance and constant updating, ensuring that applications not only impress with functionality and design but also stand out for their robust security.</p><p>At <a href="https://arctouch.com">ArcTouch</a>, we help companies create engaging and secure apps, websites, and connected experiences. See some of <a href="https://arctouch.com/portfolio">our work</a>.</p><p><strong>References</strong></p><ul><li><a href="https://owasp.org/www-community/attacks/xss/">Cross Site Scripting (XSS) | OWASP Foundation</a></li><li><a href="https://owasp.org/www-community/attacks/csrf">Cross Site Request Forgery (CSRF) | OWASP Foundation</a></li><li><a href="https://cheatsheetseries.owasp.org/cheatsheets/Insecure_Direct_Object_Reference_Prevention_Cheat_Sheet.html">Insecure Direct Object Reference Prevention - OWASP Cheat Sheet Series</a></li><li><a href="https://content-security-policy.com/">Content-Security-Policy (CSP) Header Quick Reference</a></li><li><a href="https://www.w3.org/TR/CSP2/">Content Security Policy Level 2</a></li></ul><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=1179df166878" width="1" height="1" alt=""><hr><p><a href="https://medium.com/arctouch/secure-front-end-development-1179df166878">Secure Front-End Development</a> was originally published in <a href="https://medium.com/arctouch">ArcTouch</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[8 Myths About App Accessibility]]></title>
            <link>https://medium.com/arctouch/8-myths-about-app-accessibility-fc25cb9ca3ac?source=rss----54f6cfdf05bc---4</link>
            <guid isPermaLink="false">https://medium.com/p/fc25cb9ca3ac</guid>
            <category><![CDATA[app-development]]></category>
            <category><![CDATA[wcag]]></category>
            <category><![CDATA[accessible-design]]></category>
            <category><![CDATA[ux]]></category>
            <category><![CDATA[accessibility]]></category>
            <dc:creator><![CDATA[Team ArcTouch]]></dc:creator>
            <pubDate>Wed, 03 Apr 2024 17:09:30 GMT</pubDate>
            <atom:updated>2024-04-03T17:09:30.054Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*tTPMa9KJKgGVcRcJqUXU2Q.png" /></figure><p>There’s a lot that people get wrong when it comes to app accessibility. And because of my role as head of accessible products at ArcTouch and my <a href="https://arctouch.com/blog/app-maker-ben-ogilvie">personal connection to accessibility</a>, I want to help people get things right. In this post, I debunk eight of the most common myths about building accessible apps.</p><p>Our goal is to help product leaders and user experience champions get past some of the misconceptions that creating accessible and inclusive experiences is too difficult or expensive. Because, as our <a href="https://www.linkedin.com/in/fingerman/">co-CEO Adam Fingerman</a> has previously said, embracing an <a href="https://arctouch.com/blog/accessibility-first-app-development">accessibility-first app development</a> mindset makes great business sense in almost every case.</p><p>So let’s bust some of those accessible app development myths.</p><h3>Myth 1: Disabled users represent a small minority</h3><p><strong>Reality</strong>: There’s a tendency to think of people with disabilities as a small segment of the population, considering only those who are blind, deaf, or who have severe mobility challenges. Disability is a spectrum that affects many people. In fact, estimates show that <a href="https://www.cdc.gov/ncbddd/disabilityandhealth/infographic-disability-impacts-all.html">nearly 25% of people in the U.S. have some form of disability</a>, including age-related disabilities like low vision or those with severe mobility issues. Globally, <a href="https://www.who.int/news-room/fact-sheets/detail/disability-and-health">there are 1.3 billion people with disabilities</a>, representing the largest under-served minority group in the world. That’s nearly the entire population of China. Not so small after all.</p><h3>Myth 2: People who benefit from an accessible app experience represent a small percentage of your target market</h3><p><strong>Reality</strong>: This may be wrong for multiple reasons.</p><p>First, the person buying or downloading your app may be different from the person using it. Parents and caregivers may purchase or download an app on behalf of loved ones with physical, mental, and age-related disabilities.</p><p>Second, many disabilities, like color blindness or mild dyslexia, aren’t diagnosed and certainly wouldn’t show up in any customer demographic study. So, it’s likely that many users in your target market would benefit from a more accessible app.</p><p>Third, consider the <a href="https://en.wikipedia.org/wiki/Curb_cut_effect">curb-cut effect</a>, named for the ramps cut into sidewalks, initially designed to help people with wheelchair access but also benefited people on bicycles and pushing strollers and delivery people with dollies. Many accessible products across industries appeal to typical users, too. The number of people who benefit from accessibility is far greater than the population of people with significant disabilities.</p><p>Finally, keep in mind that your app’s users today may have disabilities in the future — and accessibility ensures you can retain your most valuable customers as their needs change.</p><h3>Myth 3: Investing in accessible apps does not have a good ROI</h3><p><strong>Reality</strong>: It does require a bit more time and expense to design and develop accessible apps. But, the return on investment typically outweighs the costs. In fact, <a href="https://www.forrester.com/report/The-Six-Steps-For-Justifying-Better-UX/RES117708">Forrester found</a> that every dollar invested in accessibility and user improvements brought back $100 in return. One big reason: Consumers appreciate brands that prioritize inclusivity — which can increase customer lifetime value (CLV) and attract new ones through word of mouth.</p><p>There are also hidden costs to NOT building accessible products and features. An accessibility issue found after a product is launched is considerably more expensive to fix than if it were addressed during design. Finally, products that aren’t accessible may be subject to costly lawsuits or other enforcement actions via regulatory bodies and acts, including <a href="https://www.ada.gov/">ADA</a>, <a href="https://www.section508.gov/">Section 508</a>, <a href="https://www.aoda.ca/">AODA</a>, <a href="https://www.acainternational.org/about/accessibility/">ACA</a>, <a href="https://www.etsi.org/deliver/etsi_en/301500_301599/301549/03.02.01_60/en_301549v030201p.pdf">EN 301 549</a>, and the <a href="https://ec.europa.eu/social/main.jsp?catId=1202&amp;intPageId=5581&amp;langId=en">European Accessibility Act</a>.</p><h3>Myth 4: Accessible apps are ugly</h3><p><strong>Reality</strong>: Not at all! Our team has repeatedly shown you can <a href="https://arctouch.com/blog/accessible-app-design">design accessible apps</a> that are also beautiful. We have created lovable and accessible UI designs for clients like <a href="https://arctouch.com/portfolio/mccormick">McCormick</a>, <a href="https://arctouch.com/portfolio/common-sense-media">Common Sense Media</a>, and <a href="https://arctouch.com/portfolio/magellan">Magellan Rx</a>.</p><h3>Myth 5: Accessibility is just a fad that will pass</h3><p><strong>Reality</strong>: The majority of our global population relies on their phones and the apps they use every single day. And that dependency is only going to increase, which makes inclusivity more important than ever. We shouldn’t deny anyone the benefits of a company’s app or website — including those with physical and mental disabilities.</p><h3>Myth 6: Accessible app design and development is covered by WCAG</h3><p><strong>Reality</strong>: <a href="https://www.w3.org/TR/WCAG22/">WCAG</a> is an important and widely referenced resource for digital builders. However, its focus is on website design and development. Because the technologies used for websites and apps are so different, WCAG only partially applies. If your company is building accessible apps, it’s best to consult with builders like ArcTouch, who deeply understand app development and accessibility.</p><h3>Myth 7: My native app will be accessible because accessibility is built into mobile OSes</h3><p><strong>Reality</strong>: Both iOS and Android have assistive technologies built into the operating systems — but enabling those features doesn’t just happen by default. Developers must leverage the correct APIs to expose your app’s content to those technologies. And while the native features are great, they don’t ensure compliance with all accessibility design and development standards.</p><h3>Myth 8: It’s impossible to find builders that understand app accessibility</h3><p><strong>Reality</strong>: Difficult? Yes. Impossible? No. Finding trusted and innovative designers and developers to build apps of any kind can be challenging, but there are good ones — and some of those builders are on the leading edge of understanding digital accessibility. Our <a href="https://arctouch.com/services/accessibility">app accessibility experts</a> — who crafted this helpful <a href="https://arctouch.com/blog/app-accessibility-checklist/">app accessibility checklist</a> — can put your company on the path to delivering useful, delightful, and inclusive products.</p><h3>About ArcTouch</h3><p>ArcTouch has been creating lovable apps for companies of all sizes since the <a href="https://arctouch.com/blog/how-the-app-store-gave-rise-to-arctouch">dawn of the App Store</a> more than 15 years ago. <a href="https://arctouch.com/contact/">Contact us</a> to learn more about our accessible product design and development services.</p><p><em>Originally written by Ben Ogilvie and published at </em><a href="https://arctouch.com/blog/app-accessibility-myths"><em>https://arctouch.com</em></a><em>.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=fc25cb9ca3ac" width="1" height="1" alt=""><hr><p><a href="https://medium.com/arctouch/8-myths-about-app-accessibility-fc25cb9ca3ac">8 Myths About App Accessibility</a> was originally published in <a href="https://medium.com/arctouch">ArcTouch</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
    </channel>
</rss>