Apple তাদের প্রথম ফোল্ডেবল iPhone, iPhone Duo, ঘোষণা করেছে September 9, 2026-এ। Pre-order শুরু হচ্ছে October 16, আর বিক্রি শুরু October 23, iOS 27.1 নিয়ে। আজব ব্যাপারটা হলো sequencing-এ: Apple একই দিনে নিয়মগুলো প্রকাশ করে দিয়েছে, কিন্তু Duo simulator-সহ SDK আসবে শুধু “September-এর পরের দিকে।” ডকুমেন্টেশন আছে, হার্ডওয়্যার বেশিরভাগ সময়ই নেই — আর ঠিক এই সময়টাই আপনার app-এ থাকা layout assumption গুলো খুঁজে বের করার সবচেয়ে ভালো সুযোগ, যেগুলো নিঃশব্দে সত্যি থাকা বন্ধ করে দিয়েছে।

সহজ কথায়: in-app message হলো সেই popup বা banner, যেটা app খোলা অবস্থায় ভেতরে দেখা যায় (push notification-এর মতো lock screen-এ না) — promo, feature announcement বা onboarding tip দেখানোর জন্য। এই গাইডে device review নেই, সেটা নিয়ে শখানেক লেখা এমনিতেই বেরিয়ে যাবে। Push notification নিজে system draw করে, তাই সেখানে বদলানোর কিছু নেই। আপনার app নিজে যা কিছু আঁকে, সেই অংশটাই এখন এমন একটা স্ক্রিনে টিকে থাকতে হবে যেটা shape আর aspect ratio বদলে ফেলে, session চলাকালীন অবস্থাতেই: in-app message, rich media, push primer, loader। এটাই সেই surface যার জন্য Apple নতুন নিয়ম লিখেছে, আর বেশিরভাগ team ঠিক এই জায়গাটাই এড়িয়ে যেতে চলেছে।

iOS 27 আসলে ফোল্ডেবল iPhone-এ কী বদলে দিয়েছে

iPhone Duo-তে 2টা display আছে, প্রায় একই রকম aspect ratio নিয়ে। ভেতরেরটা 7.6 inch, একটা iPhone 18 Pro Max-এর চেয়ে প্রায় 50% বেশি screen area; বাইরেরটা 5.4 inch, একটা iPhone 18 Pro-র screen area-র প্রায় 90%। Proportion কাছাকাছি, কিন্তু একদম এক না — আর এটাই আরেকটা কারণ, কেন layout ঠিক করা উচিত size class থেকে, কোনো একটা ratio ধরে নিয়ে না যেটা আপনি ভাবছেন দুটোতেই খাটবে।

প্রতিটা app Split View-তে অংশ নেয়। Duo হলো প্রথম iPhone যেটা আপনার app-এর UI-র একাধিক instance একসাথে চালায় — মানে আপনার in-app messaging গিয়ে পড়তে পারে অর্ধেক screen-এ, ঠিক আরেকটা app-এর পাশে।

আর shape বদলে যায় session চলাকালীনই। User device unfold করে, বা half-fold করে, ঠিক তখনই যখন আপনার modal স্ক্রিনে খোলা আছে। Layout আর এমন কিছু না যেটা আপনি শুধু launch-এর সময় একবার ঠিক করে ফেলবেন।

Compatibility-র 3টা লেভেল, আর বেশিরভাগ app কোথায় দাঁড়িয়ে

Apple-এর নিয়মটা সোজা: আপনার app recompile ছাড়াই Duo-তে চলবে। আসল প্যাঁচ হলো, সেটা কতটুকু screen পাবে — আর সেটা নির্ভর করে আপনি কোন SDK দিয়ে build করেছেন তার ওপর।

  • পুরনো SDK: app চলবে, কিন্তু আপনার content phone-shaped region-এর ভেতরেই বাক্সবন্দী থাকবে।
  • iOS 27 SDK: আপনার UI ভেতরের display-তে status-bar area-র বাঁ দিকে extend করবে।
  • iOS 27.1 SDK: আপনার UI screen-এর একদম কিনারা পর্যন্ত পৌঁছাবে, আর standard navigation ও toolbar button vertically সাজানো হবে।

মানে হলো, যে team কিছুই করবে না, সে তার in-app message ship করবে একটা phone-size box-এ, 7.6-inch display-র ওপর। Broken না। শুধু চোখে পড়ার মতো untouched, ঠিক পাশে বসে থাকবে সেই competitor-দের, যারা কষ্ট করেছে।

আপনার in-app messaging layout কেন কাজ করা বন্ধ করে দেবে

3টা কারণ, আর এগুলো একসাথে জমা হয়।

Aspect ratio। বেশিরভাগ in-app আর rich-media template তৈরি হয়েছিল একটা সাধারণ iPhone-এর proportion মাথায় রেখে। ভেতরের display-র proportion আলাদা, আর পুরনো proportion-এর জন্য বানানো template ঠিক জায়গায় বসবে না যেখানে আপনি এঁকেছিলেন।

Orientation হলো ভুল signal। ভেতরের display দুটো size class-এই regular, আর supported interface orientation মেনে চলে না। Orientation-এর ওপর ভিত্তি করে বানানো যেকোনো layout branch আসলে এমন একটা signal পড়ছে, যেটা ভেতরের display পাত্তাই দেয় না। Apple-এর নির্দেশনা স্পষ্ট: layout ঠিক করুন size class থেকে, orientation থেকে না।

Safe area asymmetric। Duo-তে inset আর layout margin প্রায়ই দুই পাশে আলাদা, তাই প্রতিটা edge আলাদাভাবে handle করতে হবে, symmetric frame ধরে নেওয়া যাবে না। তারপর সেটা Split View-তে test করুন, যেখানে frame আবার সরু হয়ে যায়।

ফোন খোলার সময় স্ক্রিনে থাকা in-app message

এই case-টা ভেবে দেখার মতো, কারণ এখনো কোনো simulator কাউকে এটা সরাসরি দেখতে দেয়নি: একটা modal in-app message স্ক্রিনে আছে, আর user ফোন unfold করে ফেলল। যে view আগে থেকেই presented আছে, তার নিচেই frame বদলে যায়।

Apple এখানে আপনাকে 2টা tool দেয়, আর এই দুটো গুলিয়ে ফেলাটাই সবচেয়ে সহজ ভুল।

Hinge API — SwiftUI-তে onHingeChange আর UIKit-এ UIHingeInteraction — একটা discrete state (closed, partially open, fully open) আর একটা continuous angle report করে। এগুলো বানানো হয়েছে live দেখার জন্য, আর interaction ও effect চালানোর জন্য। Apple-এর নিজের demo-তে fold angle ব্যবহার করা হয়েছে একটা virtual instrument-এর pitch বাঁকানোর জন্য। এটাই তাদের আসল কাজের জায়গা — আপনার button এদিক-ওদিক সরানো না।

Layout যায় একদম আলাদা একটা পথ দিয়ে। Apple আপনাকে দেখায় arrangement আর region API-র দিকে, “Strike a pose with adaptive layouts on iPhone Duo” নামের talk থেকে — যেখানে introduce করা হয়েছে reserved region, split আর overlay layout-সহ arrangement view, আর displacement: existing element-গুলোকে সেই জায়গায় নতুন করে fit করানো যেটা আসলেই available, যাতে device বন্ধ হতে থাকলেও content দেখা যায় আর reach করা যায়। iOS 27.1 যোগ করেছে SwiftUI-তে ReservedRegion আর UIKit-এ UIViewReservedRegion, যাতে আপনার custom UI system UI-র সাথে না মিশেই নিজের দরকারি জায়গা claim করতে পারে। এগুলো query করা হয় reservedRegions(kind:) দিয়ে, যেখানে .division হলো fold নিজেই আর .occlusion হলো camera।

একটা modal-এর জন্য, এটা একটা নিয়মে গিয়ে দাঁড়ায়: reposition করার জন্য hinge angle-এর দিকে হাত বাড়াবেন না। এটাকে arrangement আর reserved region অনুযায়ী চলতে দিন, যাতে screen খোলার সময় আপনার content ঠিক জায়গায় গিয়ে বসে, এমন একটা frame আঁকড়ে ধরে না থেকে যেটা আর নেই।

Split View-এ In-app notification

যেহেতু এখন প্রতিটা app multitasking pool-এ থাকে, আপনার in-app notification গিয়ে পড়তে পারে অর্ধেক screen-এ, একদম অচেনা কোনো app-এর পাশে। এটা পুরো ভেতরের display-র চেয়ে অনেক সরু একটা frame — আর ঠিক এই কারণেই half width-এ test করা দরকার। যে modal full-screen-এ ঠিকঠাক পড়া যায়, সেটাই অর্ধেক জায়গা হারালে clip হয়ে যাবে বা ভিড় করে ফেলবে।

একটা শক্ত সীমাও জেনে রাখা দরকার: outer display-তে নতুন window খোলা যায় না, সেটা reserved inner experience-এর জন্য। যে presentation logic window spawn করে, তাকে এই ব্যাপারটা মাথায় রাখতে হবে।

Outer display: আপনার compact layout, plus widget আর Live Activities

Outer display আচরণ করে আর দশটা iPhone screen-এর মতোই। আপনার app সেখানেও চলে, আর app যা কিছু draw করে সবই — in-app message সহ। Apple-এর framing হলো, outer display একটা compact-width layout, ঠিক একটা সাধারণ iPhone-এর মতোই, যেখানে ভেতরের display দুই dimension-এই regular। 5.4 inch-এ এটাই এই device-এ আপনার in-app messaging-এর পাওয়া সবচেয়ে সরু full-screen frame — তাই এটা test matrix-এ থাকা উচিত, “প্রযোজ্য না” স্তূপে ফেলে রাখার বদলে।

এর ওপরেই একটা দ্বিতীয় surface বসানো আছে। Duo-তে, StandBy দুটো display-র যেকোনো একটায় চলে, এমনকি device charge না হলেও: ফোন রেখে দিলে outer screen জ্বলেই থাকে আর ঘরের দিকে তাক করা থাকে। যে app-এর widget নেই আর Live Activity-ও নেই, সেটা সেই মুহূর্ত থেকে সম্পূর্ণ অনুপস্থিত। সেখানে presence আসে widget বা Live Activity দিয়ে — এটা ঠিক সেই কাজ, যেটা আপনি lock-screen আর Dynamic Island-এর জন্য এমনিতেই করেছেন। আপনি যদি Live Activities বানিয়ে থাকেন, এটাই দ্বিতীয় জায়গা যেখানে সেই investment কাজে লাগে। যদি না বানিয়ে থাকেন, তাহলে এটাই আরেকটা কারণ।

👉🏻

আমাদের আগের লেখা iOS Live Activities নিয়ে basic ধারণা কভার করে, আর iOS 27 অ্যান্টি-স্প্যাম নিয়ম কভার করে সেখানে আসলে কী রাখা যায়।

October 23-এর আগে ফোল্ডেবল iPhone কম্প্যাটিবিলিটি চেকলিস্ট

হার্ডওয়্যার এখনো হাতে পাওয়া যাচ্ছে না, কিন্তু তার বাইরে বাকি সবকিছু এখনই করা যায়:

  • আপনার in-app আর rich-media template-এর inventory করুন। প্রতিটা খুঁজে বের করুন যেটা একটা frame, aspect ratio, বা phone-size box hard-code করে রেখেছে।
  • আপনার 16:9 creative গুলো audit করুন। Fixed aspect ratio-তে বানানো যেকোনো কিছুর জন্য ভেতরের display-র একটা plan দরকার।
  • আপনার orientation branch খুঁজে বের করুন। Interface orientation-নির্ভর layout এমন signal পড়ছে যেটা ভেতরের display পাত্তা দেয় না, তাই সেটা size class-এ সরান।
  • প্রতিটা safe-area edge আলাদাভাবে check করুন। Asymmetry ধরে নিন; symmetric inset ধরে নেবেন না।
  • UIScreen.main-এর জন্য grep করুন। একটা 2-display device-এ এটা ambiguous, আর Apple বলছে এটা deprecate হবে। Screen পড়ুন window?.windowScene?.screen থেকে, আর scale পড়ুন traitCollection.displayScale থেকে।
  • শুধু unfolded না, compact width-এও test করুন। Outer display-তেই আপনার in-app message সবচেয়ে কম জায়গা পায়, আর এটা তাদের জন্য একটা বাস্তব surface।
  • আপনার Device Hub test সাজিয়ে রাখুন। Xcode 27.1 beta ship হলে, Duo simulator থাকবে Device Hub-এ: খুলুন, বন্ধ করুন, ঘোরান, স্ক্রিনে একটা message রেখে half-fold করুন।
  • Device model অনুযায়ী segment করুন। Duo user-রা বাজারে এলে তাদের আলাদা করে target করে test করার একটা উপায় রেখে দিন।
  • আপনার push notification আর onboarding primer copy আবার দেখুন। Onboarding-এ user যে permission prompt দেখে সেটা এখনও system draw করে, কিন্তু তার আগের custom pre-permission screen আপনার in-app messaging-এর মতোই layout নিয়ম মেনে চলে।

এর কোনোটার জন্যই device লাগে না। কিন্তু সবগুলোই করতে হবে device user-দের হাতে যাওয়ার আগে, পরে না।

আপনার in-app messaging Duo-র জন্য রেডি করে ship করুন

In-app message, rich media আর push primer জুড়ে এটা হাতে ঠিক করা, আপনার user-দের প্রতিটা screen-এ — এমন একটা কাজ যেটা একটা মাত্র integration-এ করাটা ছয়টার চেয়ে সহজ। ঠিক এই কারণেই in-app messaging আর push notification একটা single mobile engagement platform, যেমন Pushwoosh, দিয়ে সামলানো ভালো: ফ্রি শুরু করুন বা আমাদের টিমের সাথে কথা বলুন আপনার messaging October 23-এর আগে Duo-ready করে তোলা নিয়ে।

আপনার messaging Duo-ready করুন
আমাদের টিমের সাথে কথা বলুন

Pushwoosh Team
Content Team এ Pushwoosh
শেয়ার করুন

সম্পর্কিত আর্টিকেল

সব দেখুন