گوشی معمولاً بر اساس کارهایی که انجام می‌دهد توصیف می‌شود — تماس‌ها، عکس‌ها، برنامه‌ها. در عوض، آن را بر اساس آنچه در خود دارد توصیف کنید: میکروفونی با کالیبراسیون کافی که با نرخ ۴۸ kHz نمونه‌برداری می‌کند، دو یا سه دوربین، یک چراغ‌قوه LED روشن، یک موتور لرزاننده، یک شتاب‌سنج، و صفحه‌نمایشی که می‌تواند با سرعتی دقیق چشمک بزند. این یک گوشی نیست. این یک آزمایشگاه کوچک با صفحه لمسی است.

بیشتر برنامه‌ها در هر بار از یکی از این بخش‌ها برای هدف تعیین‌شده‌اش استفاده می‌کنند. اندازه‌گیری‌های جالب زمانی شروع می‌شوند که از آن‌ها به صورت خارج از کاربرد اصلی و ترکیبی استفاده کنید: چراغ‌قوه به‌عنوان منبع نور برای دوربین، موتور لرزاننده به‌عنوان تحریک‌کننده برای شتاب‌سنج، و گوشی دوم به‌عنوان نیمه دیگر یک آزمایش. این پست نقشه‌ای از این قلمرو در سه سطح با جاه‌طلبی فزاینده است.

سطح ۱: یک حسگر، شنود غیرفعال

ساده‌ترین ابزارها یک حسگر را به سمت جهان نشانه می‌روند و آنچه بازمی‌گردد را تحلیل می‌کنند:

قاعده متحدکننده: ضبط داده‌ها باید تا حد امکان خام و بدون پردازش، طبق ظرفیت پلتفرم باشد. در اندروید این به معنای درخواست مسیر میکروفون پردازش‌نشده است — بدون کنترل خودکار بهره (gain) و بدون حذف نویزی که همان سیگنال مورد نظر برای اندازه‌گیری را تغییر می‌دهد — و همچنین قفل کردن نوردهی خودکار و توازن سفیدی دوربین در مواقعی که اندازه‌گیری به ثابت و واقعی ماندن سطح نور بستگی دارد.

سطح ۲: گوشی تحریک ایجاد می‌کند، سپس میزان تحریک خود را اندازه‌گیری می‌کند

یک گوشی همچنین دارای محرک‌ها است، و جفت کردن یک محرک با یک حسگر، شنود غیرفعال را به یک ابزار فعال تبدیل می‌کند:

ابزارهای فعال ویژگی خاصی دارند که ابزارهای غیرفعال فاقد آن هستند: محرک شناخته‌شده است. وقتی کنترل تحریک در دست شماست، می‌توانید به جای سطوح مطلق، قابلیت‌ها را بر اساس نسبت‌ها و پاسخ‌ها بسازید — همین امر باعث می‌شود نتایج در مدل‌های مختلف گوشی بدون نیاز به کالیبراسیون تک‌تک دستگاه‌ها قابل مقایسه باشند.

سطح ۳: دو گوشی، یک آزمایش

برخی کمیت‌ها ذاتا دوطرفه هستند: میزان صدایی که یک دیوار مسدود می‌کند، یا میزان نوری که از یک پنجره عبور می‌کند. یک گوشی نمی‌تواند هم‌زمان در هر دو طرف باشد — اما دو گوشی می‌توانند، و بیشتر خانواده‌ها دو گوشی دارند.

ترفندی که این کار را بدون تجهیزات آزمایشگاهی ممکن می‌سازد، نسبت گیرنده یکسان است. گوشی فرستنده یک محرک خود‌شناسا پخش می‌کند — یک سویپ تون پله‌ای، یا صفحه‌نمایشی که با نرخ ثابتی چشمک می‌زند. گوشی اندازه‌گیری‌کننده دو بار داده ثبت می‌کند: یک بار با مسیر مستقیم به فرستنده (مرجع) و یک بار از میان دیوار یا پنجره. تنها نسبت این دو ثبت داده که توسط یک میکروفون یا دوربین یکسان انجام شده است، به عنوان پاسخ نهایی استفاده می‌شود. بلندی صدای فرستنده، حساسیت گیرنده، اتاق — همه‌چیز خنثی می‌شود. بنابراین دو گوشی نیازی به همگام‌سازی ساعت، کابل یا کالیبراسیون نسبت به یکدیگر ندارند. (شرح کامل در پست عایق صدا.)

قاعده طراحی در پشت هر سه سطح: هرگز به یک سطح مطلق اعتماد نکنید. میکروفون‌ها و دوربین‌های گوشی در مدل‌های مختلف متفاوت هستند؛ اما رزونانس‌ها، نرخ‌های زوال، الگوهای حوزه مرتبه و نسبت‌های گیرنده یکسان عمدتاً تغییری نمی‌کنند. قابلیت‌های ساخته‌شده از کمیت‌های نسبی در دستگاه‌های مختلف کار می‌کنند؛ اما قابلیت‌های ساخته‌شده از مقادیر مطلق همیشه به کالیبراسیون اختصاصی برای هر دستگاه نیاز دارند.

از خوانش‌های تک‌باره تا یک کاتالوگ

یک خوانش به تنهایی صرفاً یک داده فرعی است. خوانش‌ها زمانی تبدیل به دانش می‌شوند که به چیزها متصل شوند: این خربزه، این چرخ، این دیوار، اندازه‌گیری‌شده در امروز و دوباره در هفته آینده. بنابراین هر اندازه‌گیری می‌تواند زیرمجموعه یک شیء در یک کاتالوگ ثبت شود — دسته‌بندی → شیء → مورد استفاده → اندازه‌گیری — و هر اندازه‌گیری می‌تواند بعد از انجام، یک برچسب واقعیت زمینی دریافت کند: شما به خربزه ضربه زدید، سپس آن را قاچ کردید، و بعد آنچه یافتید را ثبت کردید. این چرخه بسته، که در میان بسیاری از کاربران و بسیاری از اشیاء تکرار می‌شود، روشی است که دسته‌بندهای تست ضربه به جای نمونه‌های آزمایشگاهی، روی میوه‌های واقعی آموزش می‌بینند.

و برای کارهای پیچیده‌تر به جای خوانش‌های ساده — مانند تنظیم پره چرخ دوچرخه، بررسی عایق‌بندی یک اتاق — فعالیت‌های راهنمایی‌شده چند ابزار را به ترتیب درست به هم متصل می‌کنند و به شما می‌گویند بین اندازه‌گیری‌ها چه کاری انجام دهید، و نتایج آن‌ها را در همان کاتالوگ ثبت می‌کنند. پست تنظیم پره دوچرخه اولین مورد را به طور کامل شرح می‌دهد.

مسیر پیش رو

فهرست ابزارها همچنان در حال رشد است — و معماری برنامه به گونه‌ای طراحی شده که اضافه کردن یک ابزار جدید افزایشی است: یک ورودی جدید در ثبت‌کننده، بدون نیاز به بازنویسی آنچه از قبل ذخیره شده است. همه‌چیز روی خود دستگاه و به صورت آفلاین اجرا می‌شود و نتایج در کمتر از یک ثانیه آماده می‌شوند؛ پست اولویت با آفلاین توضیح می‌دهد که چرا این محدودیت یک ستون اصلی ساختاری است، نه صرفاً یک گزینه اختیاری برای تیک زدن.