مشکلات iOS 13 | در طول چند سال اخیر یکی از بزرگترین نقدهایی که به مدیریت پلتفرم اپل وارد شده است این است که تعداد باگ های هر نسخه ی جدید از سیستم عامل iOS بسیار بیشتر از حد معمول بوده است. اما این مدعا به طور کامل صحیح نیست. اگر شما نگاهی به عملکرد نسخه های قبلی iOS در چند سال اخیر بیندازید، خواهید دید که هر سال عملکرد آنها بدتر از سال قبل بوده است. دلیل این موضوع نیز این است که در هر آپدیت جدید iOS باگ های قدیمی برطرف میشوند و باگ های جدید جای خالی آنها را پُر می‌کنند. اما سال ۲۰۱۹ واقعاً سال بدی برای سیستم عامل اپل بود. iOS 13 با تعداد زیادی باگ منتشر شد و حتی به‌روزرسانی های بعدی نیز نتوانستند تمام این باگها را برطرف کنند.

مشکلات iOS 13
مشکلات iOS 13

مشکلات iOS 13

پس از انتشار iOS 13 و شکایت های متعدد کاربران بابت ایرادات این سیستم عامل، اپل سخت مشغول کار روی آپدیت های جدید سیستم عامل خود بوده است و با سرعت بسیار زیادی آن ها را منتشر کرده است. اما اینطور که به نظر میرسد سیستم عامل iOS به آپدیت های بیشتری احتیاج دارد!

اپل معمولاً در آپدیت های بزرگ. سیستم عامل خود ویژگی های جدید متعددی را به کاربران ارائه می‌دهد. البته این موضوع درباره ی iOS 12 صدق نمیکند. امل در نسخه ۱۲ تصمیم گرفت که از اضافه کردن قابلیت ها و ویژگی های اضافی خودداری کند و صرفاً به بهبود ویژگی های برتر و کاربردی تر نسخه های iOS بپردازد و آنها را به شکل بهتری در iOS 12 به کاربران ارائه دهد. نتیجه این تصمیم اپل فوق العاده بود. نه تنها عملکرد دیوایس های اپل (به خصوص مدل های قدیمی تر) با بهبودهای قابل توجهی همراه بود، بلکه در مجموع از نسخه های بتا گرفته تا نسخه نهایی، iOS 12 بسیار کامل و بدون مشکل بود.

به شخصه فکر می‌کردم که اپل در سال ۲۰۱۹ نیز همین رویکرد را اتخاذ کند و موفقیت سال قبل را دوباره تکرار کند. اپل این بار تصمیم گرفت که در نسخه ی جدید سیستم عامل خود تعداد زیادی ویژگی و قابلیت جدید را به کاربران ارائه دهد تا از بزرگترین رقیب خود یعنی گوگل و سیستم عاملش اندروید عقب نماند. اما متأسفانه باید بگوییم که نتیجه ی این تصمیم اپل افتضاح بود.

 

 

مشکلات iOS 13
مشکلات iOS 13

چرا iOS 13 تا این حد مشکل دارد؟

در اوایل این هفته، یکی از مهندسان اپل به نام David Shayer در رابطه با مشکلات و باگ های سیستم عامل های iOS 13 و macOS Catalina شفاف سازی کرد.

دلیل اول: مشکلات سیستم عامل اپل ناشی از وجود تعداد زیادی از ویژگی های جدید است

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

البته در سیستم عامل هایی نظیر iOS 12 و همچنین OS X Snow Leopard، اپل از ارائه ویژگی های جدید متعدد خودداری کرد و صرفاً به بهبود ویژگی های موجود سیستم عامل های خود پرداخت و نتیجه ی این اقدام اپل عالی بود.

اما متأسفانه اپل در توسعه ی iOS 13 چنین رویکردی را اتخاذ نکرد و صرفاً سعی کرد که یک سری قابلیت های جدید را به کاربران ارائه کند (در صورتی که تعدادی از این قابلیت ها عملکرد خوبی نداشتند).

دلیل دوم: گزارش های خرابی ارسال شده توسط کاربران، تمام باگ های سیستم عامل را پوشش نمی‌دهند

به عبارت دیگر ممکن است سیستم عامل تعداد زیادی باگ داشته باشد که هیچ اختلالی در کاربری روزانه ایجاد نکنند، اما در عوض یک سری از باگ ها کاربری دیوایس را از حالت نرمال خارج کنند. از این رو کاربران بیشتر به بابت باگ هایی که باعث ایجاد اختلال در سیستم عامل میشوند شکایت می‌کنند.

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

فیل شیلر

دلیل سوم: به باگ های نه چندان مهم به اندازه ی کافی رسیدگی نمی‌شود

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

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

مشکلات iOS 13
مشکلات iOS 13

دلیل چهارم: باگ های قدیمی به دست فراموشی سپرده میشوند

به عبارت ساده تر، باگ های جدید مشکل ساز برطرف میشوند و باگ های قدیمی تا زمانی که خللی در سیستم عامل ایجاد نکنند برطرف نمی‌شوند.

چنین شرایطی برای همه ی کمپانی ها برقرار نیست و به ندرت پیش می آید که باگ های قدیمی باعث اختلال سیستم عامل شوند؛ اما یک سری باگ ها دیر یا زود خود را نشان می‌دهند.

 

 

 

دلیل پنجم: تست اتوماتیک ویژگی های جدید به ندرت انجام میشود

وب کیت و Safari از آن دسته سرویس هایی هستند که مکرراً به صورت اتوماتیک تست میشوند. از این رو هر چیزی که باعث کاهش سرعت آنها شود به سرعت برطرف خواهد شد.

آقای Josh Shaffer (یکی از توسعه دهندگان SwiftUI) در رابطه با اهمیت تست کردن اپلیکیشن های جدید گفت:

“یکی از مهمترین مراحل توسعه ی یک اپلیکیشن و یا فریمور، تست کردن آن است. خوشبختانه از همان ابتدا واحد تست و بررسی عملکرد SwiftUI از عناصر اصلی توسعه ی این اپلیکیشن محسوب می شد.

با هر تغییری که ما در پروژه اعمال می‌کنیم یک تست نیز برای بررسی آن تغییر انجام میشود و این رویه تا مراحل پایانی توسعه ی یک اپلیکیشن ادامه دارد.”

بنابراین کمپانی اپل باید بتواند که تمام اپلیکیشن ها و فریمورهای خود را به صورت دقیق تست کند تا از عملکرد صحیح آنها اطمینان حاصل کند.

دلیل ششم: پیچیدگی توسعه ی نرم افزار زیاد است

در ابتدا اپل فقط نرم افزار مک را توسعه می‌داد. سپس نرم افزار های آیپاد، آیفون، اپل تی وی، آیپد و اپل واچ نیز به لیست نرم افزارهای اپل اضافه شدند. اکنون نیز این کمپانی سیستم عامل AudioOS را برای HomePod و سیستم عامل BridgeOS را برای TouchBar توسعه میدهد.

همچنین این کمپانی باید یک سری اپلیکیشن اختصاصی برای سیستم عامل تایزن کمپانی سامسونگ توسعه بدهد. با این اوصاف کار توسعه، تست و رفع مشکل این نرم افزارها به کار سختی تبدیل خواهد شد.

مشکلات iOS 13
مشکلات iOS 13

راه حل (احتمالی) برای اینکه iOS 14 به چنین وضعیتی دچار نشود

۱. رویکرد اپل در توسعه ی iOS 12 باید از حالت استثناء به یک قانون همیشگی تبدیل شود

با اضافه کردن ویژگی ها و قابلیت های جدید، شما باید منابع خود را نیز افزایش دهید. این چیزی است که در اکثر کمپانی ها رعایت نمی‌شود. در توسعه ی یک سیستم عامل شما علاوه بر اینکه باید با دقت ویژگی های جدید را بنویسید، بلکه باید ویژگی ها و قابلیت های قبلی را نیز به خوبی بهینه سازی کنید.

این دقیقاً همان کاری بود که اپل در توسعه ی iOS 12 انجام داد. اپل در این سیستم عامل علاوه بر اینکه تعدادی ویژگی جدید را به کاربران عرضه کرد، موفق شد که ویژگی های قبلی را نیز به اندازه ی کافی به بلوغ برساند. این تصمیم اپل باعث شد که پیچیدگی توسعه ی iOS 12 به کمترین میزان ممکن برسد.

مشکلات iOS 13
مشکلات iOS 13

۲. اپل مجبور نیست که همه ی قابلیت های جدید را به صورت یکجا به کاربران عرضه کند

اپل می‌تواند به جای اینکه صرفاً بر روی یک تاریخ عرضه (برای سیستم عامل) تمرکز کند، تمرکز خود را بر روی یک بازه ی زمانی معطوف کند به طوری که قابلیت های جدید را مرحله به مرحله به سیستم عامل خود اضافه کند. البته ناگفته نماند که اپل تا حدودی این کار را انجام میدهد. برای مثال اپل در هر نسخه ی بتا از iOS، تعدادی ویژگی جدید را به کاربران ارائه میکند. اپل در عرضه ی ویژگی هایی نظیر Portrait Mode و Deep Fusion به انتشار آپدیت های جزئی روی آورد. اپل باید در یک توسعه نسخه ی بتا از عملکرد یک سری قابلیت ها اطمینان حاصل کند و سپس در توسعه ی بتای بعدی به بررسی عملکرد ویژگی های دیگر بپردازد.

مشکلات iOS 13 | در صورتی که اپل این دو مورد را در توسعه iOS 14 رعایت کند، به دردسرهای کمتری دچار خواهد شد و موفقیت این کمپانی در توسعه و عرضه ی iOS 12 دوباره تکرار خواهد شد و همه افراد اعم از مهندسان و برنامه نویسان و همچنین کاربران از این موضوع رضایت خواهند داشت.

منبع: iMore