13 पॉइंट द्वारा xguru 2024-05-13 | 2 टिप्पणियां | WhatsApp पर शेयर करें
  • UK Cancer Centre की "दिन में 100 push-up challenge" में हिस्सा लेने के लिए ऐप ढूंढते समय, खुद push-up गिनने वाली एक मजेदार चीज़ बनाने का फैसला किया
  • iOS के Core Motion framework की पड़ताल
    • sensor data का उपयोग करने के तरीकों पर विचार करते हुए CMHeadphoneMotionManager का इस्तेमाल कर AirPods के motion data को उपयोग में लेने का निर्णय किया
    • Core Motion accelerometer, gyroscope, magnetometer जैसे sensors का data देता है
    • यह सटीक और भरोसेमंद motion और orientation मापने में उपयोगी है
    • user privacy की सुरक्षा के लिए data access permission की आवश्यकता होती है
  • AI को लागू करने के तरीके पर विचार
    • ARKit जैसे frameworks का उपयोग करने वाले ऐप पहले से काफी हैं
    • इसके बजाय लगा कि AI इस आइडिया को लागू करने में मदद कर सकता है
    • Core Motion पर प्रशिक्षित GPT का उपयोग करके natural language में सवाल पूछे और समाधान प्राप्त किए
  • ऐप architecture डिज़ाइन
    • Motion Manager: sensor data stream करता है और device sensor updates को संभालता है
    • Pushups Detector: streamed data का विश्लेषण कर predefined thresholds के आधार पर push-up को detect और count करता है
    • SwiftUI View: user के push-up करने पर real-time में update होने वाला responsive UI देता है
  • Motion Manager का implementation
    • delegate pattern का उपयोग करके update होने वाली values तक पहुंच बनाई
    • CMHeadphoneMotionManager का उपयोग करके device motion data लाया
    • startUpdates() और stopUpdates() से sensor updates को शुरू और बंद किया
    • pitch और accelerationY values को update किया और delegate को सूचित किया
  • Pushups Detector का implementation
    • data stream analysis को शुरू और बंद करने के लिए "session" की अवधारणा लाई गई
    • raw data की व्याख्या करके user की posture और push-up की स्थिति का निर्धारण किया
    • thresholds का उपयोग करके push-up के नीचे जाने और ऊपर आने को detect किया और count बढ़ाया
    • MotionManagerDelegate को implement करके acceleration और pitch values में बदलाव को संभाला
  • SwiftUI से एक सरल view implementation
    • इसमें session start/end button और push-up count दिखाने वाला बड़ा नंबर शामिल है
    • user की posture सही है या नहीं, यह दिखाने वाला text भी जोड़ा गया
  • data analysis और visualization
    • Swift Charts का उपयोग करके raw sensor data को visualize किया और patterns की पहचान की
    • Y-axis acceleration में push-up के नीचे जाने (-1.0) और ऊपर आने (+0.5) के patterns पाए गए
    • वास्तविक परीक्षणों के जरिए thresholds को समायोजित कर accuracy बेहतर की गई (+0.4, -0.7)
  • real-time tracking का आकर्षण
    • AirPods पहनकर start button दबाते ही push-up count अपने आप update हो जाता है
    • यह user interaction के बिना भी काम करता है
  • इस project से सीखी गई बातें
    • शुरुआती validation और iterative improvement के महत्व की फिर से पुष्टि हुई
    • कुछ अर्थपूर्ण बनाने का मज़ा और संतोष महसूस हुआ
    • UI improvement और कई दिनों तक push-up counting जैसी सुधार की गुंजाइश भी है
    • AirPods के जरिए audio feedback जोड़कर visual interface के अलावा भी user experience बेहतर किया गया
  • निष्कर्ष
    • Core Motion, SwiftUI और AI को मिलाकर 24 घंटे में fitness tracking को नया आयाम देने वाला ऐप विकसित किया गया
    • यह चुनौती महत्वपूर्ण है कि नई तकनीकों को रोज़मर्रा की समस्याओं पर कैसे लागू किया जा सकता है

2 टिप्पणियां

 
ing03201 2024-05-13

फिर से महसूस होता है कि 3 बड़े lifts की reps गिनने वाली Galaxy Watch वाकई कमाल की है।

 
jooyh1021 2024-05-13

कुछ साल पहले मैंने iPhone के proximity sensor का इस्तेमाल करने वाला Thirty नाम का एक push-up challenge app बनाया था, लेकिन AirPods से करने का तरीका भी है.. Dynamic Island जुड़ने के बाद proximity sensor की accuracy थोड़ी कम हो गई लगती है, उदास सा।