تو لینکداین داستان یکی از Lead Engineerهای سابق اپلیکیشن نشان رو میخوندم، که چطوری باعث پیشرفت و بیشتر دیدهشدن اپلیکیشنشون شدن، تا جایی که یکجایی محبوبترین اپلیکیشن مسیریاب فارسی شدن. خلاصهای ازش اینجا مینویسم.
📌 اصل ماجرا
سال ۹۷ مردم برای ترافیک Waze داشتن و برای بقیه مسیرها Google Maps. مسئله اصلی نشان لحظهای بود که کاربر روی لوکیشن میزد و سیستم Android بدون سؤال همون انتخاب Always قدیمی رو باز میکرد.
نصب خریدنی بود، ولی پنجره انتخاب اپ خریدنی نبود.
🧩 ترفند فنی
سیستم Android برای default فقط app انتخابشده رو ذخیره نمیکنه، set همه Activityهایی رو هم نگه میداره که لحظه انتخاب میتونستن اون intent رو باز کنن. در PreferredComponent.java متد sameSet همین لیست رو با resolver فعلی مقایسه میکنه. اگر لیست عوض شده باشه، انتخاب Always قبلی drop میشه و chooser دوباره میاد.
تیم نشان دو Activity خالی داشت که هر دو handler لوکیشن بودن و آخرش کاربر رو به نقشه اصلی میبردن. هر بار اپ بالا میاومد، یکی با setComponentEnabledSetting روشن و یکی خاموش میشد. از نگاه PackageManager یک گزینه تازه وارد لیست شده بود، پس default قبلی invalid میشد.
🧠 درس محصول
این ترفند کسی رو مجبور نمیکرد نشان رو انتخاب کنه، فقط لحظه تصمیم رو برمیگردوند. فیلترینگ Waze بعدا در رو باز کرد برای محصولات دیگه، ولی پشت اون در محصولی ایستاده بود که سالها نقشه، routing و جزئیات low-level رو جدی گرفته بود.
🔗 منبع: دو تا صفحهٔ خالی، در برابر دو تا غول
✈️ @Mirage_Notes
