{"id":43426,"date":"2023-06-28T13:54:04","date_gmt":"2023-06-28T11:54:04","guid":{"rendered":"https:\/\/www.inovex.de\/?p=43426"},"modified":"2023-06-28T13:54:04","modified_gmt":"2023-06-28T11:54:04","slug":"feedback-mechanisms-medical-ios-app","status":"publish","type":"post","link":"https:\/\/www.inovex.de\/de\/blog\/feedback-mechanisms-medical-ios-app\/","title":{"rendered":"Developing Comprehensive Feedback Mechanisms for a Medical iOS App"},"content":{"rendered":"<p>In collaboration with the <a href=\"https:\/\/www.h-ka.de\/isrg\/profil\" target=\"_blank\" rel=\"noopener\">Intelligent Systems Research Group (ISRG)<\/a> at the University of Applied Sciences Karlsruhe and the physiotherapy company <a href=\"https:\/\/www.varilag.de\/\" target=\"_blank\" rel=\"noopener\">Varilag<\/a>, inovex participated in the <a href=\"https:\/\/www.h-ka.de\/isrg\/projects\/infermod3d\" target=\"_blank\" rel=\"noopener\">InferMod3D research project<\/a> over the past two years. inovex provided support for the development of an iOS app that aimed at diagnosing and monitoring infant head deformation, specifically plagiocephaly.<!--more--><\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_79_2 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\"><p class=\"ez-toc-title\" style=\"cursor:inherit\"><\/p>\n<\/div><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.inovex.de\/de\/blog\/feedback-mechanisms-medical-ios-app\/#Background-Information-Head-Deformation\" >Background Information: Head Deformation<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.inovex.de\/de\/blog\/feedback-mechanisms-medical-ios-app\/#How-the-app-works\" >How the app works<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.inovex.de\/de\/blog\/feedback-mechanisms-medical-ios-app\/#The-tech-stack\" >The tech stack<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.inovex.de\/de\/blog\/feedback-mechanisms-medical-ios-app\/#Requirements-for-a-scan\" >Requirements for a scan<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.inovex.de\/de\/blog\/feedback-mechanisms-medical-ios-app\/#Feedback-concept\" >Feedback concept<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.inovex.de\/de\/blog\/feedback-mechanisms-medical-ios-app\/#Positioning-feedback\" >Positioning feedback<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.inovex.de\/de\/blog\/feedback-mechanisms-medical-ios-app\/#Progress-feedback\" >Progress feedback<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.inovex.de\/de\/blog\/feedback-mechanisms-medical-ios-app\/#Insights-into-the-feedback-implementation\" >Insights into the feedback implementation<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.inovex.de\/de\/blog\/feedback-mechanisms-medical-ios-app\/#Thermal-monitoring\" >Thermal monitoring<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.inovex.de\/de\/blog\/feedback-mechanisms-medical-ios-app\/#Text-to-speech\" >Text-to-speech<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/www.inovex.de\/de\/blog\/feedback-mechanisms-medical-ios-app\/#VibrationsHaptic-Feedback\" >Vibrations\/Haptic Feedback<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/www.inovex.de\/de\/blog\/feedback-mechanisms-medical-ios-app\/#Visual-feedback-by-displaying-a-3D-point-cloud-with-SwiftUI\" >Visual feedback by displaying a 3D point cloud with SwiftUI<\/a><\/li><\/ul><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/www.inovex.de\/de\/blog\/feedback-mechanisms-medical-ios-app\/#Testing-and-evaluation\" >Testing and evaluation<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/www.inovex.de\/de\/blog\/feedback-mechanisms-medical-ios-app\/#Results\" >Results<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/www.inovex.de\/de\/blog\/feedback-mechanisms-medical-ios-app\/#Future-work\" >Future work<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/www.inovex.de\/de\/blog\/feedback-mechanisms-medical-ios-app\/#Additional-information\" >Additional information<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Background-Information-Head-Deformation\"><\/span>Background Information: Head Deformation<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Plagiocephaly is a condition characterised by an asymmetric deformation of an infant&#8217;s skull, typically caused by a preferred sleeping position. As the skull is still flexible during this stage of development, deformations can occur and must be treated before the skull solidifies. If left untreated, it can lead to impairments in balance and affect parts of the brain. The most common method for diagnosing plagiocephaly is using a caliper and using these measurements to calculate the Cranial Vault Asymmetry Index (CVAI), which indicates the severity of the plagiocephaly.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-43431\" src=\"https:\/\/www.inovex.de\/wp-content\/uploads\/Head-Deformation-300x257.png\" alt=\"An illustration of infant head deformation or plagiocephaly.\" width=\"300\" height=\"257\" srcset=\"https:\/\/www.inovex.de\/wp-content\/uploads\/Head-Deformation-300x257.png 300w, https:\/\/www.inovex.de\/wp-content\/uploads\/Head-Deformation-400x342.png 400w, https:\/\/www.inovex.de\/wp-content\/uploads\/Head-Deformation-360x308.png 360w, https:\/\/www.inovex.de\/wp-content\/uploads\/Head-Deformation.png 539w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<h2><span class=\"ez-toc-section\" id=\"How-the-app-works\"><\/span>How the app works<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>The app, developed by the ISRG and inovex, utilises the TrueDepth camera system of the iPhone, which is typically used for FaceID, to create scans of infants\u2019 heads by recording RGBD data. The forward-facing position of the sensor poses a challenge for the operator, as the screen is difficult to see during the scanning process. To overcome this, the app offers unique feedback to assist the operator during the scanning process. It provides haptic, audible, and visual feedback to allow for scanning without the need to constantly look at the display.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"The-tech-stack\"><\/span>The tech stack<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>The application uses:<\/p>\n<ul>\n<li>the\u00a0<a href=\"https:\/\/developer.apple.com\/xcode\/swiftui\/\" target=\"_blank\" rel=\"noopener\">SwiftUI<\/a> framework for building the user interface,<\/li>\n<li>the\u00a0<a href=\"https:\/\/developer.apple.com\/documentation\/corehaptics\" target=\"_blank\" rel=\"noopener\">Core Haptics<\/a> framework to create haptic feedback,<\/li>\n<li>the\u00a0<a href=\"https:\/\/developer.apple.com\/av-foundation\/\" target=\"_blank\" rel=\"noopener\">AVFoundation<\/a> framework to create audible feedback,<\/li>\n<li>the computer vision library <a href=\"https:\/\/opencv.org\/\" target=\"_blank\" rel=\"noopener\">OpenCV<\/a> for detecting the markers on the cap,<\/li>\n<li>the languages Swift, C++, Objective-C\u00a0and<\/li>\n<li>the hardware-accelerated graphics API <a href=\"https:\/\/developer.apple.com\/metal\/\" target=\"_blank\" rel=\"noopener\">Metal<\/a> for rendering the 3D point cloud.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-43429 \" src=\"https:\/\/www.inovex.de\/wp-content\/uploads\/Home-Screen.png\" alt=\"A screenshot of the home screen of the app.\" width=\"309\" height=\"645\" srcset=\"https:\/\/www.inovex.de\/wp-content\/uploads\/Home-Screen.png 890w, https:\/\/www.inovex.de\/wp-content\/uploads\/Home-Screen-144x300.png 144w, https:\/\/www.inovex.de\/wp-content\/uploads\/Home-Screen-491x1024.png 491w, https:\/\/www.inovex.de\/wp-content\/uploads\/Home-Screen-768x1602.png 768w, https:\/\/www.inovex.de\/wp-content\/uploads\/Home-Screen-737x1536.png 737w, https:\/\/www.inovex.de\/wp-content\/uploads\/Home-Screen-400x834.png 400w, https:\/\/www.inovex.de\/wp-content\/uploads\/Home-Screen-360x751.png 360w\" sizes=\"auto, (max-width: 309px) 100vw, 309px\" \/> <img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-43427 \" src=\"https:\/\/www.inovex.de\/wp-content\/uploads\/Scanning-Procedure.gif\" alt=\"An animated screenshot while performing a scanning procedure.\" width=\"298\" height=\"645\" \/><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Requirements-for-a-scan\"><\/span>Requirements for a scan<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>The app requires an iPhone with FaceID (iPhone X or newer) for the scanning process. To create a coherent 3D model of the head, infants must wear a special cap with (<a href=\"https:\/\/docs.opencv.org\/3.4\/d5\/dae\/tutorial_aruco_detection.html\" target=\"_blank\" rel=\"noopener\">ArUco<\/a>-) markers during the scanning procedure. As infants at this age are not yet able to sit still on their own, they must be held by a parent during the scan. A physiotherapist then moves the device around the head, adjusting the position based on the feedback provided by the app. The scanning process typically takes between one to two minutes.<\/p>\n<h2><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-43433 size-full\" src=\"https:\/\/www.inovex.de\/wp-content\/uploads\/Doll-with-marker-cap.jpeg\" alt=\"A doll wearing a cap with ArUco markers that was used for testing.\" width=\"699\" height=\"412\" srcset=\"https:\/\/www.inovex.de\/wp-content\/uploads\/Doll-with-marker-cap.jpeg 699w, https:\/\/www.inovex.de\/wp-content\/uploads\/Doll-with-marker-cap-300x177.jpeg 300w, https:\/\/www.inovex.de\/wp-content\/uploads\/Doll-with-marker-cap-400x236.jpeg 400w, https:\/\/www.inovex.de\/wp-content\/uploads\/Doll-with-marker-cap-360x212.jpeg 360w\" sizes=\"auto, (max-width: 699px) 100vw, 699px\" \/><\/h2>\n<h2><span class=\"ez-toc-section\" id=\"Feedback-concept\"><\/span>Feedback concept<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>The feedback mechanism includes two types of feedback: positioning and progress feedback. The positioning feedback helps the user to correctly position the iPhone, while the progress feedback keeps the user informed of the overall progress of the scanning procedure.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Positioning-feedback\"><\/span><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-43435 size-full\" src=\"https:\/\/www.inovex.de\/wp-content\/uploads\/Feedback-Flowchart.jpeg\" alt=\"A chart of how the feedback concept of the app works.\" width=\"926\" height=\"934\" srcset=\"https:\/\/www.inovex.de\/wp-content\/uploads\/Feedback-Flowchart.jpeg 926w, https:\/\/www.inovex.de\/wp-content\/uploads\/Feedback-Flowchart-297x300.jpeg 297w, https:\/\/www.inovex.de\/wp-content\/uploads\/Feedback-Flowchart-150x150.jpeg 150w, https:\/\/www.inovex.de\/wp-content\/uploads\/Feedback-Flowchart-768x775.jpeg 768w, https:\/\/www.inovex.de\/wp-content\/uploads\/Feedback-Flowchart-400x403.jpeg 400w, https:\/\/www.inovex.de\/wp-content\/uploads\/Feedback-Flowchart-360x363.jpeg 360w\" sizes=\"auto, (max-width: 926px) 100vw, 926px\" \/><br \/>\nPositioning feedback<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>Primary feedback<\/strong>: The marker overlap status between the frames serves as the primary criteria for whether the positioning of the iPhone is satisfactory or needs to be improved. To signal to the user that something about the positioning needs to be corrected, the iPhone vibrates. This vibration is continuous and only stops once the overlap is sufficient again. However, the vibration is only started and stopped when the marker overlap is the same four frames in a row. This threshold is important as the app processes 30 frames per second and therefore, we need to reduce the number of times feedback is triggered.<\/p>\n<p><strong>Secondary feedback<\/strong>: The positioning feedback regarding the distance or the 2D positioning is only triggered if the primary feedback has been triggered and provides further information to the user on how to correct the positioning. Audio output \u201ctoo close\u201c if more than 30 percent of all markers have invalid depth (depth value = not-a-number) information. This threshold is derived heuristically from initial testing. Audible positioning instructions (\u201cleft-up\u201c, \u201cright\u201c, &#8230;) if less than 30 percent of all markers have invalid depth information.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Progress-feedback\"><\/span>Progress feedback<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>The progress of marker detection is indicated by the number of detected marker IDs. The user can choose to receive audio updates every 25 %, 50 %, or 100 % of marker detection in the app&#8217;s settings. The progress is also displayed visually as a progress bar on the screen, using traffic light colours for intuitive understanding. This feature was implemented to provide an alternative means of monitoring progress, in case audio output is not audible, for example, if the operator is distracted by crying infants.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Insights-into-the-feedback-implementation\"><\/span>Insights into the feedback implementation<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<h4><span class=\"ez-toc-section\" id=\"Thermal-monitoring\"><\/span>Thermal monitoring<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>This app uses the TrueDepth camera system, which uses infrared\u00a0to work. Since this sensor can overheat, the app listens to the <span class=\"lang:swift decode:true crayon-inline \">ProcessInfo.thermalStateDidChangeNotification<\/span>\u00a0and shows an alert when the sensor gets too hot.<\/p>\n<h4><span class=\"ez-toc-section\" id=\"Text-to-speech\"><\/span>Text-to-speech<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>The audible feedback uses text-to-speech. The class <span class=\"lang:swift decode:true crayon-inline \">AVSpeechUtterance<\/span>\u00a0is used to configure the text that should be spoken and in combination with the class <span class=\"lang:swift decode:true crayon-inline \">AVSpeechSynthesisVoice<\/span>, the language of the voice, in our case, German, can be set. The class <span class=\"lang:swift decode:true crayon-inline \">AVSpeechSynthesizer<\/span>\u00a0synthesizes speech from the provided text and provides the method speak to output the audio.<br \/>\nAnother key feature is that the audio is played and is audible even when the device is in silent mode. This is done by setting the playback category of the audio session: <span class=\"lang:swift decode:true crayon-inline \">AVAudioSession.sharedInstance().setCategory(.playback)<\/span>.<\/p>\n<h4><span class=\"ez-toc-section\" id=\"VibrationsHaptic-Feedback\"><\/span>Vibrations\/Haptic Feedback<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>To create custom vibration patterns, the app uses the <span class=\"lang:swift decode:true crayon-inline \">CHHapticEngine<\/span>\u00a0class to connect to the iPhone hardware, and the <span class=\"lang:swift decode:true crayon-inline \">CHHapticPattern<\/span>\u00a0class to specify the intensity, sharpness, and duration of the vibration. Finally, the <span class=\"lang:swift decode:true crayon-inline \">CHHapticAdvancedPatternPlayer<\/span>\u00a0class plays the vibration pattern.<\/p>\n<h4><span class=\"ez-toc-section\" id=\"Visual-feedback-by-displaying-a-3D-point-cloud-with-SwiftUI\"><\/span>Visual feedback by displaying a 3D point cloud with SwiftUI<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>The camera and sensor capture both RGB data and depth data in the form of <span class=\"lang:swift decode:true crayon-inline \">AVDepthData<\/span>\u00a0and <span class=\"lang:swift decode:true crayon-inline \">CVPixelBuffer<\/span>. This data is used to construct a point cloud using Metal. By including RGB data, the point cloud is coloured and therefore looks like the actual camera feed at first sight. Using a point cloud offers the advantage of constructing a new image consisting only of the relevant features while eliminating unnecessary features and the ability to highlight the detected markers in different colours, for example. The ArUco marker extraction is done by using OpenCV. To display a view rendered by Metal, first, an <span class=\"lang:swift decode:true crayon-inline \">MTKView<\/span>\u00a0has to be created with a reference to the device with <span class=\"lang:swift decode:true crayon-inline\">MTLCreateSystemDefaultDevice<\/span>. However, to display an <span class=\"lang:swift decode:true crayon-inline \">MTKView\u00a0<\/span>we use a <span class=\"lang:swift decode:true crayon-inline \">UIViewRepresentable\u00a0<\/span>as there is no standard SwiftUI Metal view component. The Metal view is updated through the <span class=\"lang:swift decode:true crayon-inline \">updateUIView\u00a0<\/span>function with the latest RGBD data.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Testing-and-evaluation\"><\/span>Testing and evaluation<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>The features and user experience of the app were evaluated in a small test setting by a team of physical therapists over a four-week period. Direct feedback on the scanning process was collected within the app after each scan, using an evaluation form that included sliders and toggle switches. The form was designed to gather immediate feedback on the scanning procedure. In addition, in-person interviews were conducted with the physical therapists who used the app during the evaluation period, to gain a deeper understanding of the strengths and limitations of the app.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Results\"><\/span>Results<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Data collected from the in-app evaluation already provided some insights into\u00a0what could be the reason for the positive or negative rating of the performed scans.\u00a0Data collected from the in-app evaluation suggests that the reason for bad scans (rating of 1 or 2) could stem from the infant\u2019s behaviour and the fit of the cap. However, good scans (rating of 4 or 5) do not seem to correlate with the cap fit and the infant\u2019s behaviour which suggests that the scan was good because the app fulfilled its requirements. Only one scan suggests that there might be an issue with the online 3D reconstruction pipeline. Lastly, the average scan rating is 3.56. In total, there were four very good (ratings of 4 or 5) scans and two bad (ratings of 1, 2) scans.<\/p>\n<p>Feedback from physical therapists indicated that the app\u2019s audio feedback on the distance to the head was helpful, but opinions differed on the vibrations indicating positioning issues.<br \/>\nPositioning instructions were found to be unintuitive and hard to interpret. Progress feedback was seen as motivating, but some wished for smaller increments. The cap used during the scans was seen as a problem as it did not fit well for all infants and some markers fell off. Suggested improvements include adding a feature to remind the operator to scan the nose and ears, and a feature to detect scanned parts of the head and guide further scanning.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Future-work\"><\/span>Future work<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Future work should address the prototypical nature of the cap by designing it so that the markers do not fall off anymore and that the cap is so flexible that each infant can comfortably wear it. This indicates to be a challenging tradeoff between printability and wearing comfort in the selection of the material of the cap. Furthermore, the evaluation of the app could be improved by including more infants and scanning operators in the app evaluation. In an effort to make the user more aware of all the features of the app, future work can also include the creation of an onboarding screen.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Additional-information\"><\/span>Additional information<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>This project was part of a <a href=\"https:\/\/www.h-ka.de\/fileadmin\/Hochschule_Karlsruhe_HKA\/Bilder_WE-ISRG\/Student_Issues\/Bachelorthesis_Fabian_Rapp.pdf\" target=\"_blank\" rel=\"noopener\">Bachelor Thesis<\/a> and resulted in a <a href=\"https:\/\/www.3dbody.tech\/cap\/papers\/2022\/2239rapp.pdf\" target=\"_blank\" rel=\"noopener\">paper<\/a>, entitled \u201cFeedback Mechanisms of an iOS App to Record RGBD Data for AI-Based Diagnosis and Monitoring of Infant Head Deformation\u201c. This paper was <a href=\"https:\/\/vimeo.com\/755934566\/249b0fb78b\" target=\"_blank\" rel=\"noopener\">presented onsite<\/a> at the <a href=\"https:\/\/www.3dbody.tech\/\" target=\"_blank\" rel=\"noopener\">3DBody.Tech Conference &amp; Expo<\/a> in Lugano, Switzerland in 2022.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In collaboration with the Intelligent Systems Research Group (ISRG) at the University of Applied Sciences Karlsruhe and the physiotherapy company Varilag, inovex participated in the InferMod3D research project over the past two years. inovex provided support for the development of an iOS app that aimed at diagnosing and monitoring infant head deformation, specifically plagiocephaly.<\/p>\n","protected":false},"author":340,"featured_media":46535,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"ep_exclude_from_search":false,"footnotes":""},"tags":[510,150,285,398,399],"service":[420,436],"coauthors":[{"id":340,"display_name":"Fabian Rapp","user_nicename":"frapp"}],"class_list":["post-43426","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","tag-apps-2","tag-computer-vision","tag-inovex-lab","tag-ios","tag-swift","service-apps","service-computer-vision"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Comprehensive Feedback Mechanisms for a Medical iOS App<\/title>\n<meta name=\"description\" content=\"We developed a medical iOS app that uses the front facing True Depth camera which led us to implement new visual, auditive and haptic feedback mechanisms.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.inovex.de\/de\/blog\/feedback-mechanisms-medical-ios-app\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Comprehensive Feedback Mechanisms for a Medical iOS App\" \/>\n<meta property=\"og:description\" content=\"We developed a medical iOS app that uses the front facing True Depth camera which led us to implement new visual, auditive and haptic feedback mechanisms.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.inovex.de\/de\/blog\/feedback-mechanisms-medical-ios-app\/\" \/>\n<meta property=\"og:site_name\" content=\"inovex GmbH\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/inovexde\" \/>\n<meta property=\"article:published_time\" content=\"2023-06-28T11:54:04+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.inovex.de\/wp-content\/uploads\/iOS-Feedback-mechanisms.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1080\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Fabian Rapp\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/www.inovex.de\/wp-content\/uploads\/iOS-Feedback-mechanisms-1024x576.png\" \/>\n<meta name=\"twitter:creator\" content=\"@inovexgmbh\" \/>\n<meta name=\"twitter:site\" content=\"@inovexgmbh\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fabian Rapp\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"8\u00a0Minuten\" \/>\n\t<meta name=\"twitter:label3\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data3\" content=\"Fabian Rapp\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.inovex.de\/de\/blog\/feedback-mechanisms-medical-ios-app\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.inovex.de\/de\/blog\/feedback-mechanisms-medical-ios-app\/\"},\"author\":{\"name\":\"Fabian Rapp\",\"@id\":\"https:\/\/www.inovex.de\/de\/#\/schema\/person\/a8fed69c5da85ab70eaf491734e17f1f\"},\"headline\":\"Developing Comprehensive Feedback Mechanisms for a Medical iOS App\",\"datePublished\":\"2023-06-28T11:54:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.inovex.de\/de\/blog\/feedback-mechanisms-medical-ios-app\/\"},\"wordCount\":1529,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.inovex.de\/de\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.inovex.de\/de\/blog\/feedback-mechanisms-medical-ios-app\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.inovex.de\/wp-content\/uploads\/iOS-Feedback-mechanisms.png\",\"keywords\":[\"Apps\",\"Computer Vision\",\"inovex Lab\",\"iOS\",\"Swift\"],\"articleSection\":[\"Applications\",\"English Content\",\"inovex Lab\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.inovex.de\/de\/blog\/feedback-mechanisms-medical-ios-app\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.inovex.de\/de\/blog\/feedback-mechanisms-medical-ios-app\/\",\"url\":\"https:\/\/www.inovex.de\/de\/blog\/feedback-mechanisms-medical-ios-app\/\",\"name\":\"Comprehensive Feedback Mechanisms for a Medical iOS App\",\"isPartOf\":{\"@id\":\"https:\/\/www.inovex.de\/de\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.inovex.de\/de\/blog\/feedback-mechanisms-medical-ios-app\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.inovex.de\/de\/blog\/feedback-mechanisms-medical-ios-app\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.inovex.de\/wp-content\/uploads\/iOS-Feedback-mechanisms.png\",\"datePublished\":\"2023-06-28T11:54:04+00:00\",\"description\":\"We developed a medical iOS app that uses the front facing True Depth camera which led us to implement new visual, auditive and haptic feedback mechanisms.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.inovex.de\/de\/blog\/feedback-mechanisms-medical-ios-app\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.inovex.de\/de\/blog\/feedback-mechanisms-medical-ios-app\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/www.inovex.de\/de\/blog\/feedback-mechanisms-medical-ios-app\/#primaryimage\",\"url\":\"https:\/\/www.inovex.de\/wp-content\/uploads\/iOS-Feedback-mechanisms.png\",\"contentUrl\":\"https:\/\/www.inovex.de\/wp-content\/uploads\/iOS-Feedback-mechanisms.png\",\"width\":1920,\"height\":1080,\"caption\":\"A blue ball floating above an iPhone that indicates visual, auditive and haptic feedback.\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.inovex.de\/de\/blog\/feedback-mechanisms-medical-ios-app\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.inovex.de\/de\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Developing Comprehensive Feedback Mechanisms for a Medical iOS App\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.inovex.de\/de\/#website\",\"url\":\"https:\/\/www.inovex.de\/de\/\",\"name\":\"inovex GmbH\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.inovex.de\/de\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.inovex.de\/de\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.inovex.de\/de\/#organization\",\"name\":\"inovex GmbH\",\"url\":\"https:\/\/www.inovex.de\/de\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/www.inovex.de\/de\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.inovex.de\/wp-content\/uploads\/2021\/03\/inovex-logo-16-9-1.png\",\"contentUrl\":\"https:\/\/www.inovex.de\/wp-content\/uploads\/2021\/03\/inovex-logo-16-9-1.png\",\"width\":1921,\"height\":1081,\"caption\":\"inovex GmbH\"},\"image\":{\"@id\":\"https:\/\/www.inovex.de\/de\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/inovexde\",\"https:\/\/x.com\/inovexgmbh\",\"https:\/\/www.instagram.com\/inovexlife\/\",\"https:\/\/www.linkedin.com\/company\/inovex\",\"https:\/\/www.youtube.com\/channel\/UC7r66GT14hROB_RQsQBAQUQ\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.inovex.de\/de\/#\/schema\/person\/a8fed69c5da85ab70eaf491734e17f1f\",\"name\":\"Fabian Rapp\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/www.inovex.de\/de\/#\/schema\/person\/image\/f0fbea1d0545ea02be4c3338ae837f8a\",\"url\":\"https:\/\/www.inovex.de\/wp-content\/uploads\/cropped-Fabian-96x96.png\",\"contentUrl\":\"https:\/\/www.inovex.de\/wp-content\/uploads\/cropped-Fabian-96x96.png\",\"caption\":\"Fabian Rapp\"},\"url\":\"https:\/\/www.inovex.de\/de\/blog\/author\/frapp\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Comprehensive Feedback Mechanisms for a Medical iOS App","description":"We developed a medical iOS app that uses the front facing True Depth camera which led us to implement new visual, auditive and haptic feedback mechanisms.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.inovex.de\/de\/blog\/feedback-mechanisms-medical-ios-app\/","og_locale":"de_DE","og_type":"article","og_title":"Comprehensive Feedback Mechanisms for a Medical iOS App","og_description":"We developed a medical iOS app that uses the front facing True Depth camera which led us to implement new visual, auditive and haptic feedback mechanisms.","og_url":"https:\/\/www.inovex.de\/de\/blog\/feedback-mechanisms-medical-ios-app\/","og_site_name":"inovex GmbH","article_publisher":"https:\/\/www.facebook.com\/inovexde","article_published_time":"2023-06-28T11:54:04+00:00","og_image":[{"width":1920,"height":1080,"url":"https:\/\/www.inovex.de\/wp-content\/uploads\/iOS-Feedback-mechanisms.png","type":"image\/png"}],"author":"Fabian Rapp","twitter_card":"summary_large_image","twitter_image":"https:\/\/www.inovex.de\/wp-content\/uploads\/iOS-Feedback-mechanisms-1024x576.png","twitter_creator":"@inovexgmbh","twitter_site":"@inovexgmbh","twitter_misc":{"Verfasst von":"Fabian Rapp","Gesch\u00e4tzte Lesezeit":"8\u00a0Minuten","Written by":"Fabian Rapp"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.inovex.de\/de\/blog\/feedback-mechanisms-medical-ios-app\/#article","isPartOf":{"@id":"https:\/\/www.inovex.de\/de\/blog\/feedback-mechanisms-medical-ios-app\/"},"author":{"name":"Fabian Rapp","@id":"https:\/\/www.inovex.de\/de\/#\/schema\/person\/a8fed69c5da85ab70eaf491734e17f1f"},"headline":"Developing Comprehensive Feedback Mechanisms for a Medical iOS App","datePublished":"2023-06-28T11:54:04+00:00","mainEntityOfPage":{"@id":"https:\/\/www.inovex.de\/de\/blog\/feedback-mechanisms-medical-ios-app\/"},"wordCount":1529,"commentCount":0,"publisher":{"@id":"https:\/\/www.inovex.de\/de\/#organization"},"image":{"@id":"https:\/\/www.inovex.de\/de\/blog\/feedback-mechanisms-medical-ios-app\/#primaryimage"},"thumbnailUrl":"https:\/\/www.inovex.de\/wp-content\/uploads\/iOS-Feedback-mechanisms.png","keywords":["Apps","Computer Vision","inovex Lab","iOS","Swift"],"articleSection":["Applications","English Content","inovex Lab"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.inovex.de\/de\/blog\/feedback-mechanisms-medical-ios-app\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.inovex.de\/de\/blog\/feedback-mechanisms-medical-ios-app\/","url":"https:\/\/www.inovex.de\/de\/blog\/feedback-mechanisms-medical-ios-app\/","name":"Comprehensive Feedback Mechanisms for a Medical iOS App","isPartOf":{"@id":"https:\/\/www.inovex.de\/de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.inovex.de\/de\/blog\/feedback-mechanisms-medical-ios-app\/#primaryimage"},"image":{"@id":"https:\/\/www.inovex.de\/de\/blog\/feedback-mechanisms-medical-ios-app\/#primaryimage"},"thumbnailUrl":"https:\/\/www.inovex.de\/wp-content\/uploads\/iOS-Feedback-mechanisms.png","datePublished":"2023-06-28T11:54:04+00:00","description":"We developed a medical iOS app that uses the front facing True Depth camera which led us to implement new visual, auditive and haptic feedback mechanisms.","breadcrumb":{"@id":"https:\/\/www.inovex.de\/de\/blog\/feedback-mechanisms-medical-ios-app\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.inovex.de\/de\/blog\/feedback-mechanisms-medical-ios-app\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.inovex.de\/de\/blog\/feedback-mechanisms-medical-ios-app\/#primaryimage","url":"https:\/\/www.inovex.de\/wp-content\/uploads\/iOS-Feedback-mechanisms.png","contentUrl":"https:\/\/www.inovex.de\/wp-content\/uploads\/iOS-Feedback-mechanisms.png","width":1920,"height":1080,"caption":"A blue ball floating above an iPhone that indicates visual, auditive and haptic feedback."},{"@type":"BreadcrumbList","@id":"https:\/\/www.inovex.de\/de\/blog\/feedback-mechanisms-medical-ios-app\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.inovex.de\/de\/"},{"@type":"ListItem","position":2,"name":"Developing Comprehensive Feedback Mechanisms for a Medical iOS App"}]},{"@type":"WebSite","@id":"https:\/\/www.inovex.de\/de\/#website","url":"https:\/\/www.inovex.de\/de\/","name":"inovex GmbH","description":"","publisher":{"@id":"https:\/\/www.inovex.de\/de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.inovex.de\/de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/www.inovex.de\/de\/#organization","name":"inovex GmbH","url":"https:\/\/www.inovex.de\/de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.inovex.de\/de\/#\/schema\/logo\/image\/","url":"https:\/\/www.inovex.de\/wp-content\/uploads\/2021\/03\/inovex-logo-16-9-1.png","contentUrl":"https:\/\/www.inovex.de\/wp-content\/uploads\/2021\/03\/inovex-logo-16-9-1.png","width":1921,"height":1081,"caption":"inovex GmbH"},"image":{"@id":"https:\/\/www.inovex.de\/de\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/inovexde","https:\/\/x.com\/inovexgmbh","https:\/\/www.instagram.com\/inovexlife\/","https:\/\/www.linkedin.com\/company\/inovex","https:\/\/www.youtube.com\/channel\/UC7r66GT14hROB_RQsQBAQUQ"]},{"@type":"Person","@id":"https:\/\/www.inovex.de\/de\/#\/schema\/person\/a8fed69c5da85ab70eaf491734e17f1f","name":"Fabian Rapp","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.inovex.de\/de\/#\/schema\/person\/image\/f0fbea1d0545ea02be4c3338ae837f8a","url":"https:\/\/www.inovex.de\/wp-content\/uploads\/cropped-Fabian-96x96.png","contentUrl":"https:\/\/www.inovex.de\/wp-content\/uploads\/cropped-Fabian-96x96.png","caption":"Fabian Rapp"},"url":"https:\/\/www.inovex.de\/de\/blog\/author\/frapp\/"}]}},"_links":{"self":[{"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/posts\/43426","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/users\/340"}],"replies":[{"embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/comments?post=43426"}],"version-history":[{"count":5,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/posts\/43426\/revisions"}],"predecessor-version":[{"id":46533,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/posts\/43426\/revisions\/46533"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/media\/46535"}],"wp:attachment":[{"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/media?parent=43426"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/tags?post=43426"},{"taxonomy":"service","embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/service?post=43426"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/coauthors?post=43426"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}