ยังคงอยู่กับ Case ของ the Kop Run กันต่อเนื่องอีกตอน

ความเดิมตอนที่แล้ว

การทำงานแบบเมืองนอก ไม่ได้แปลว่าจะยอดเยี่ยมหรือดีไปกว่า การทำงานแบบไทยๆอย่างที่หลายคนเข้าใจเสมอไป

จากตอน You will never sync alone

ความคืบหน้าล่าสุด หลังจากได้เปิดใช้งานการส่งผลการวิ่งผ่าน Google Fit ได้สามวัน ทางผู้จัดงานได้ทำการประกาศเลื่อนงานไปเป็นที่เรียบร้อย สาเหตุเกิดจากความไม่พร้อมจากการดึงข้อมูลของ Google Fit เข้ามาที่ระบบประมวลผลของงานวิ่ง

ปัญหาแรกที่เจอคือ นักวิ่งไม่สามารถส่งข้อมูลเข้า Google Fit ได้ ซึ่งไม่ใช่เรื่องแปลก เนื่องจาก Google Fit ยังไม่ใช่แอพพลิเคชั่นที่เป็นที่นิยมในหมู่คนออกกำลังกายมากนัก ทำให้การเชื่อมต่อกับอุปกรณ์หลายยี่ห้อหรือบางแอพพลิเคชั่นไม่สามารถทำได้โดยตรง ต้องส่งผ่านแอพพลิเคชั่นกลางมายัง Google Fit อีกที เช่นกรณี Garmin, Huawei หรือ Watch หรือ Strava บน iOs ทำไม่ได้โดยตรง

แต่ถึงจะเชื่อมต่อโดยตรง ด้วยความที่ไม่ใช่แอพพลิเคชั่นยอดนิยม ทำให้ยังไม่มีการพัฒนาให้ง่ายต่อผู้ใช้มากนัก

ปัญหาต่อมา กลายเป็นว่าคนที่เชื่อมต่อส่งข้อมูลเข้า Google Fit มาถึง the Kop Run ก็เจอปัญหาอีกคือ ระยะวิ่งเกินหรือขาดจากระยะที่เป็นจริงไปเยอะ

โดยปกติ นักวิ่งหรือนักกีฬาทุกคน จะไม่มีใครใช้แอพพลิเคชั่นเดียวในการเก็บสถิติ และจะมักจะมีการถ่ายโอนข้อมูลระหว่างแอพพลิเคชั่นเหล่านี้ เนื่องจากแต่ละแอพพลิเคชั่นจะมีข้อดีข้อด้อยอยู่ ทำให้ในการออกกำลังการหนึ่งครั้ง จะมีชุดข้อมูลที่ซ้ำซ้อนกันอยู่เสมอ

สิ่งที่เราได้จาก api ของ Google Fit จึงมีข้อมูลซ้ำซ้อนกันอยู่มาก อย่างกรณีของผม วิ่ง 9 กิโลเมตร จากการวิ่งแค่ 2 ครั้ง แต่ใน the Kop Run ขึ้นว่าผมวิ่งไปแล้วถึง 30 กิโลเมตร เนื่องจากใน Google Fit จะมีข้อมูลซ้ำซ้อนจากทั้ง Strava, Garmin และ Health เมื่อดึงผลมาระยะจึงซ้ำซ้อนทวีคูณไปเยอะมาก

คำถามคือ แล้วมันไม่มีอะไรบอกหรือว่า อันนี้มาจากข้อมูลหลายแอพ แต่เป็นการวิ่งชุดเดียวกันนะ คำตอบคืออาจจะไม่มีครับ

  • เราแยกจาก id ไม่ได้ เพราะแต่ละชุดตัวเลขไม่ซ้ำกัน
  • เราแยกจากเวลาเดียวกันก็ยังยาก เพราะชุดข้อมูลแต่ละชุด ถูกสร้างจากการ Sync ด้วยเวลาที่ต่างกัน
  • เราดูที่ระยะกับเวลาที่ใช้วิ่งได้มั๊ย แต่ละแอพพลิเคชั่นมีอัลกอริทึ่มในการคำนวณไม่เหมือนกัน ยิ่งถ้าเป็นการวิ่งระยะยาว โอกาสที่ค่าระยะ, เวลา หรือแม้แต่ เวลาเริ่ม เวลาหยุด ก็มีโอกาสไม่เท่ากันสูง
  • Public API อย่าง Google เราไม่สามารถร้องขออะไรเพิ่มเติมได้ เพราะมันไม่เสียเงิน

ถามว่ามันมีวิธีมั้ยน่าจะมีครับ แต่ไม่สามารถเขียนเสร็จภายในระยะเวลาอันสั้นได้แน่นอน (ทางทีมงานตัดสินใจเปลี่ยนจาก Strava มาเป็น Google Fit ด้วยเวลาไม่ถึง 1 สัปดาห์ก่อนเริ่มงานวิ่ง)

ถึงแม้ api จะมีประโยชน์ และทำให้เราไม่ต้องใช้คนหรือไฟล์ในการส่งผ่านข้อมูลระหว่างแอพพลิเคชั่นที่ทำให้อาจมีโอกาสผิดพลาดได้ แต่ถ้าหากเราไม่เข้าใจในสิ่งที่ api ส่งมาให้เรา ปัญหาจะตามมามากมาย

การทำงาน api ที่เกี่ยวข้องกับสิ่งที่ต้องการความแม่นยำสูง เช่น เงิน และ เวลา หากทำได้มันจะทำให้ลดการทำงานของคน และลดข้อผิดพลาดจากการทำงานของคนและไฟล์ ได้มากมายมหาศาล แต่ถ้าทำไม่ได้ความผิดพลาดจะสูงกว่าวิธีบ้านๆ โบราณๆวิธีอื่นเยอะ

กรณีนี้ ถ้าเปรียบ api เป็นบาริสต้าชงกาแฟ เราสั่งลาเต้ไป เราอาจจะได้ลาเต้และคาปูชิโน่กลับมา โดยที่เราไม่ได้เขียนตัวกรองไว้ว่า ถ้าได้คาปูชิโน่ให้เททิ้งนะ และถ้าเรากินกาแฟเกินวันละแก้วเราจะหัวใจวายตายนั่นเอง

ดังนั้น นิทานเรื่องนี้สอนให้รู้ว่า การจะใช้เทคโนโลยีอะไรใหม่ๆก็ตาม จะต้องรู้จักวิธีใช้งานมันเป็นอย่างดีด้วย มิเช่นนั้นอาจก่อให้เกิดความเสียหายใหญ่หลวงตามมา

Written By

Yodfah

Head of Information Technology at Thai Optical Group plc., Digital Transformation Consultant, Crypto Bagman creator และ ผู้แปลเนื้อหาเกมและแอดมิน Pokémon Go Thailand League