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

اجرای روی دستگاه عملاً چه مزایایی دارد

سرعتی که نحوه اندازه‌گیری شما را تغییر می‌دهد

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

حریم خصوصی بر اساس معماری، نه سیاست‌نامه

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

ساختار هزینه‌ای که با محصول تضاد ندارد

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

کاتالوگ روی گوشی قرار دارد؛ ابر فقط یک کپی است

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

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

محدودیتی که همه را صادق نگه می‌دارد

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

آنچه اولویت آفلاین به معنای آن نیست

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