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

ประโยชน์ที่แท้จริงของการทำงานบนตัวเครื่อง

ความเร็วที่เปลี่ยนวิธีที่คุณวัดค่า

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

ความเป็นส่วนตัวด้วยสถาปัตยกรรม ไม่ใช่แค่นโยบาย

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

โครงสร้างต้นทุนที่ไม่ขัดแย้งกับตัวผลิตภัณฑ์

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

แคตตาล็อกหลักอยู่ในโทรศัพท์ ส่วนคลาวด์เป็นเพียงสำเนา

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

บทสรุปสำหรับเว็บวิวเวอร์: เครื่องมือเปิดดูไฟล์ส่งออกบนเบราว์เซอร์ก็ใช้กฎเดียวกันนี้ เมื่อเปิดไฟล์ที่ส่งออก ข้อมูลจะถูกประมวลผลในเบราว์เซอร์ของคุณทั้งหมด — นำเข้าไฟล์จากเครื่องของคุณ โดยไม่มีการอัปโหลดข้อมูลใด ๆ ทั้งสิ้น

ข้อจำกัดที่ทำให้เกิดความตรงไปตรงมา

การเน้นออฟไลน์เป็นหลักมีข้อดีที่เงียบเชียบอีกประการหนึ่ง นั่นคือช่วยป้องกันการทำวิศวกรรมที่มักง่าย คุณไม่สามารถกลบเกลื่อนชุดฟีเจอร์ที่แย่ด้วยการส่งไฟล์เสียงดิบไปประมวลผลกับโมเดลขนาดใหญ่บนคลาวด์ได้ ทุกอย่างต้องทำงานบน CPU ของโทรศัพท์ให้เสร็จภายในหนึ่งวินาที ซึ่งบังคับให้การวิเคราะห์ต้องมีขนาดเล็ก แปลผลได้ และอิงตามหลักฟิสิกส์จริง เช่น การหาความถี่เรโซแนนซ์และอัตราการหน่วงแทนที่จะใช้กล่องดำประมวลผล หรือการใช้อัตราส่วนของเครื่องรับเดียวกันแทนที่จะใช้ระดับความดังสัมบูรณ์ คุณลักษณะเหล่านี้เป็นคุณลักษณะที่สามารถใช้ข้ามรุ่นโทรศัพท์ได้โดยไม่ต้องสอบเทียบรายเครื่อง ข้อจำกัดและการผลักดันคุณภาพจึงเดินไปในทิศทางเดียวกัน (อ่านเพิ่มเติมเกี่ยวกับกฎการออกแบบดังกล่าวได้ใน ภาพรวมของเครื่องมือ และ บทความการวัดค่าโดยใช้โทรศัพท์สองเครื่อง)

สิ่งที่การเน้นใช้งานออฟไลน์เป็นหลักไม่ได้หมายความถึง

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