اگر همین امروز از یک کاربر معمولی که یک بار اسم اندروید و آیاواس به گوشش خورده باشد بپرسید این دو سیستم عامل چه فرقی با هم دارند، احتمالاً پاسخ میدهد که اندروید سیستم عاملی باز با امکانات شخصیسازی بسیار بالاست و آیاواس سیستم عاملیست که کاربر را بسیار محدود میکند.
شاید این حرف در نیمه اول دهه ۲۰۱۰ میلادی میتوانست اندکی قابل قبول باشد؛ اما آنچه از روند پیشرفت هر دو سیستم عامل در طی سالیان اخیر میتوان دریافت این است که شرکتهای اپل و گوگل با الهام گرفتن از نقاط قوت سیستم عامل رقیب، تغییراتی را در محصول خود اعمال کردهاند که این دو سیستم عامل محبوب امروز بیش از پیش از لحاظ کاربرد، رفتار و عملکرد به همدیگر شباهت دارند.
در اندروید ۱۰ و قبلتر، اپها میتوانستند به فهرست کامل دیگر اپهای نصب شده روی دستگاه دسترسی داشته باشند. این دسترسی میتواند در ساختن پروفایلی از سلیقه کاربر به شرکتهایی که در پی جمعآوری اطلاعات هستند کمک کند. مثلاً فیسبوک میتواند بر اساس اپهای نصب شده روی دستگاه شما، بفهمد که آیا شما اهل بازی کردن هستید و اگر پاسخ مثبت است به چه سبک بازیهایی علاقه دارید؛ در نتیجه وقتی که در فیسبوک در حال گشت و گذار هستید، تبلیغهای مرتبطی دریافت میکنید.
این دسترسی مشخصاً معارض حریم خصوصی کاربر است. به همین خاطر در اندروید ۱۱، گوگل به تأسی از اپل، تغییراتی را در سیستم عامل خود ایجاد کرد.
اپهایی که برای اندروید ۱۱ و بعدتر ساخته میشوند، به صورت پیشفرض، تنها به فهرستی فیلتر شده از اپهای نصب شده دسترسی دارند. اگر اپی بخواهد به فهرستی بلندبالاتر از اپهای نصب شده دسترسی داشته باشد، میتواند اپهایی را که میخواهد با آنها در ارتباط باشد از قبل اعلام کند. این عیناً همانند رفتاری است که توسعهدهندگان آیاواس با آن آشنا هستند.
اگر اپی بخواهد بفهمد که آیا اپ دیگری روی دستگاه نصب شده است، میبایست از قبل نام پکیج آن اپ را در فایل منیفست اندروید اعلام کند.
شاید اپی به دلایلی همچنان نیاز داشته باشد که به فهرست تمام اپهای نصب شده دسترسی داشته باشد. به این منظور، این اپ میتواند دسترسی QUERY_ALL_PACKAGES را در منیفست اعلام کند. البته این اعلام پایان ماجرا نیست؛ چرا که اگر این اپ بخواهد در گوگلپلی منتشر شود، گوگل با وسواس بیشتری آن را بررسی خواهد کرد و اگر دلیلی را که توسعهدهنده اعلام کرده قانعکننده نداند، از انتشار اپ در گوگلپلی جلوگیری میکند. حتی در زمان توسعه نیز به توسعهدهنده اعلام میشود که تا حد امکان چنین اجازهای درخواست نکند.
برای روشنتر شدن موضوع، من اپی با نام Intent Query ساختهام که فهرست اپهای نصب شده روی دستگاه را نشان میدهد. این اپ بسته به اینکه برای چه نسخهای از اندروید ساخته شده باشد و یا چه دسترسیای را از قبل اعلام کرده باشد، فهرست متفاوتی را نشان میدهد.
روی دستگاه مورد بررسی، اپ کافه بازار به عنوان یک اپ غیر سیستمی برای بررسی حالات مختلف نصب شده است.
اگر اپ من بخواهد بداند که آیا اپ کافه بازار روی دستگاه نصب شده است یا خیر، کافی است از قبل این موضوع را در منیفست اعلام کند.
با این روش، عمده نیاز توسعهدهندگان برطرف خواهد شد و میتوان اندکی از سرک کشیدن دیگر اپها در بخشی از زندگی دیجیتال کاربران فرار کرد.
البته باید گفت که حتی با این تغییرات، نمیتوان مانع کاری که چند وقت پیش یکی از شرکتهای حمل و نقل اینترنتی در قبال رقیب خود انجام داد شد. اگر خاطرتان باشد، آن شرکت دسترسی به سرویس خود را برای افرادی که اپ رقیب را روی گوشی نصب داشتند و یا از مسیریاب مشخصی استفاده میکردند محدود کرده بود.
متأسفانه باز هم میتوان اپهای رقیب را در منیفست اندروید فهرست کرد و متوجه نصب بودن آن اپها شد. هرچند این کار شاید [سوء] استفاده از این ویژگی باشد ولی به دلیل اینکه از لحاظ فنی اپها نیاز دارند که از وجود برخی اپهای دیگر روی دستگاه باخبر باشند، نه اپل و نه گوگل جلوی این کار را نمیگیرند. از جمله استفادههای مثبت از این ویژگی، امکان پیشنهاد دادن اپهای مختلف برای مسیریابی، یا ایمیل یا موارد دیگر بسته به انتخاب کاربر است.
پیشرفتهایی که گوگل در حوزه حریم خصوصی در اندروید اعمال کرده بسیار عالی هستند. البته اینکه چند درصد از کاربران روی دستگاههای فعلی خود اندروید ۱۱ را دریافت میکنند و یا دستگاههای جدیدتری خریداری میکنند، باعث میشود شرکتهای سوء استفادهگر در آینده نزدیک بد به دل خود راه ندهند.
پاسخ ها