ভূমিকা
ShareChat হল ভারতের একটি নেতৃস্থানীয় সোশ্যাল মিডিয়া প্ল্যাটফর্ম যা ব্যবহারকারীদের তাদের মতামত শেয়ার করতে, তাদের জীবন নথিভুক্ত করতে এবং তাদের মাতৃভাষায় নতুন বন্ধু তৈরি করতে দেয়। অন্যান্য বৈশিষ্ট্যগুলির মধ্যে রয়েছে চ্যাটরুম এবং ব্যক্তিগত বার্তাপ্রেরণ, ব্যবহারকারীদের ভিডিও, জোকস, গান এবং অন্যান্য ভাষা-ভিত্তিক সামাজিক সামগ্রী ভাগ করতে সক্ষম করে। ভারতের ইন্টারনেট বিপ্লবের নেতৃত্ব দেওয়ার মিশনে, ShareChat পরিবর্তন করছে কিভাবে পরবর্তী বিলিয়ন ব্যবহারকারীরা ইন্টারনেটে ইন্টারঅ্যাক্ট করবে৷
অ্যাপটি সংখ্যায়
- 100 মিলিয়ন+ ডাউনলোড
- 180 মিলিয়ন+ মাসিক সক্রিয় ব্যবহারকারী
- 32 মিলিয়ন+ বিষয়বস্তু নির্মাতা
- 15টি ভিন্ন ভারতীয় ভাষা
- প্রতিদিন 1.5 মিলিয়ন পোস্ট তৈরি করা হয়
চ্যালেঞ্জ
শেয়ারচ্যাট প্রতিদিন হাজার হাজার মানুষের কাছে প্রিয় হওয়ার কারণে অ্যাপটি ক্রমাগতভাবে নতুন ফ্রেম সরবরাহ করার ক্ষেত্রে একটি চ্যালেঞ্জের সম্মুখীন হয়েছে যার ফলে ব্যবহারকারীর অভিজ্ঞতাকে বাধাগ্রস্ত করে এমন প্রতিক্রিয়ার সময় খারাপ হয়েছে।
ফলস্বরূপ, অ্যাপটি বাদ দেওয়া বা বিলম্বিত ফ্রেমের সংখ্যা বৃদ্ধি পেয়েছে ("জ্যাঙ্ক" নামেও পরিচিত)। ধীরগতির এবং হিমায়িত ফ্রেমের উন্নতির মাধ্যমে এই জ্যাঙ্ক সমস্যাগুলি সমাধান করা এর সমস্ত ব্যবহারকারীদের একটি বিরামহীন অভিজ্ঞতা প্রদানের জন্য গুরুত্বপূর্ণ ছিল৷ এটি ব্যবহারকারীদের অ্যাপে আরও বেশি সময় ব্যয় করতে, ব্যস্ততা বাড়াতে এবং ফলস্বরূপ, অ্যান্ড্রয়েড প্লে স্টোরে শেয়ারচ্যাটের রেটিং উন্নত করতে একটি গুরুত্বপূর্ণ ভূমিকা পালন করবে।
কিভাবে তারা এটা করেছে
ShareChat জ্যাঙ্ক কমাতে এবং অ্যাপে ধীরগতির এবং হিমায়িত ফ্রেমের (জ্যাঙ্ক) উন্নতির মাধ্যমে একটি ইতিবাচক ব্যবসায়িক প্রভাব তৈরি করতে Google-এর বিকাশকারী সম্পর্ক দলের সাথে কাজ করেছে। বিশেষত তারা নিম্নলিখিত সমস্যাগুলির উন্নতিতে কাজ করেছে -
শেয়ার্ড রিসাইক্লারভিউ পুল - প্রোফাইলিংয়ের মাধ্যমে, এটি দেখা গেছে যে বিভিন্ন ভিউহোল্ডার তৈরি করতে বেশি সময় লাগে এবং এটি কমাতে একটি শেয়ার্ড রিসাইক্লারভিউ পুল তৈরি করা হয়েছিল। এটি একই রকম ফিডের জন্য ভিউহোল্ডারদের সৃষ্টিগত খরচ সরিয়ে দিতেও সাহায্য করেছে।
অত্যধিক লেআউট পাসেল - প্রোফাইলিংয়ের মাধ্যমে, এটিও দেখা গেছে যে কিছু ভিউহোল্ডার অতিরিক্ত অনুরোধ লেআউটের জন্য অনুরোধ করছেন। অপ্টিমাইজ করার জন্য, প্রতিটি বাইন্ডের পরিবর্তে ক্রিয়েশন টাইমে মান নেওয়ার জন্য কোড আপডেট করা হয়েছিল, এইভাবে অতিরিক্ত অনুরোধ লেআউট খরচ বাঁচিয়েছে।
OverDraw - লেআউটগুলিকে সরলীকৃত করে লেয়ারিং কমাতে এবং রঙগুলি সরানোর জন্য যা প্রতিটি স্তরের জন্য আলাদাভাবে সেট করা হয়েছিল৷
অনুক্রমের সমতলকরণ - অনেক পর্দার প্রোফাইলিং এবং ম্যানুয়াল পরিদর্শনের মাধ্যমে দীর্ঘ মুদ্রাস্ফীতি পর্যবেক্ষণ করা হয়েছে। এটি সমাধান করার জন্য ConstraintLayout ব্যবহার করে অনুক্রমটি সমতল করা হয়েছিল।
অত্যধিক দর্শন মুদ্রাস্ফীতি - প্রোফাইল করার সময় নির্দিষ্ট দর্শনের জন্য দীর্ঘ মুদ্রাস্ফীতি সময় চিহ্নিত করা হয়েছে। এই দৃশ্যগুলি ভিউস্টাবগুলিতে রূপান্তরিত হয়েছিল৷
UI থ্রেড থেকে ভারী কাজগুলি সরানো - প্রধান থ্রেডে ভারী কাজগুলি করা হচ্ছে এমন কয়েকটি জায়গা পর্যবেক্ষণের জন্য অনুমোদিত প্রোফাইলার ব্যবহার করা, যেমন প্রতিটি রিসাইক্লারভিউ বাইন্ডের ট্যাগিং এবং স্টাইলিং সহ SpannableStringBuilder তৈরি করা, BlurHash ডিকোডিং ইত্যাদি। এই কাজগুলি ছিল UI থ্রেড থেকে সরানো হয়েছে এবং একটি ব্যাকগ্রাউন্ড থ্রেডে সরানো হয়েছে।
Rx থেকে Coroutine- এ স্থানান্তরিত হওয়া - এছাড়াও মেমরি খরচ ঘন ঘন জিসি কলের দিকে পরিচালিত করে এবং >100 RX থ্রেডের মাধ্যমে খুব বেশি থ্রেডের সংখ্যা ছিল। এই সমস্যাগুলি সমাধান করার জন্য অনেকগুলি ব্যবহারের ক্ষেত্রে Corutine-এ স্থানান্তরিত করা হয়েছিল৷
ইমেজ লোড করার জন্য কয়েল গ্রহণ - ছবি লোড করার সময় গ্লাইড সমস্যা সৃষ্টি করছিল, বিশেষ করে জেটপ্যাক কম্পোজের মাধ্যমে তৈরি উপাদানগুলিতে। এটিও শনাক্ত করা হয়েছিল যে LazyColumn-এ ছবি লোড করার সময়, রেন্ডারিং থ্রেশহোল্ড বার বেশি ছিল। এই ঘটনাগুলি ইমেজ লোড করার জন্য কয়েল গ্রহণের দিকে পরিচালিত করে।
পুরানো কোড ক্লিনআপ এবং রিফ্যাক্টরিং - পুরানো কোড অপসারণ এবং পরীক্ষাগুলি UI থেকে অপ্রয়োজনীয় লুকানো দৃশ্যগুলি সরাতে সাহায্য করেছে এবং কিছু স্ক্রীনকে আরও ভাল উপায়ে পুনরায় লিখতে সহায়তা করেছে৷
ফলাফল
উন্নতির ক্ষেত্রগুলি বিশ্লেষণ করে এবং অপ্টিমাইজেশান কৌশলগুলি চিহ্নিত করার মাধ্যমে, ShareChat ব্যবহারকারীদের জন্য সামগ্রিক অভিজ্ঞতা উন্নত করতে পারে যখন এর ব্যস্ততার হার এবং প্লে স্টোর রেটিং বাড়াতে পারে৷ নিচে শেয়ারচ্যাটের অর্জিত ফলাফলের পরিমাণগত ওভারভিউ দেওয়া হল-
- প্লে স্টোরে 'ধীরে রেন্ডার করা' ফ্রেমে ~45% হ্রাস
- প্লে স্টোরে 'ফ্রোজেন' ফ্রেমে ~30% হ্রাস
- রেন্ডার করা প্রতি 10K ফ্রেমের জন্য জ্যাঙ্কি ফ্রেম রেট 10.72% থেকে কমিয়ে 3.98% করা হয়েছে
- ফিড-স্ক্রোলিং 60% বৃদ্ধি পেয়েছে
- স্টোরের সামগ্রিক রেটিং ~4.0 থেকে বেড়ে 4.3 হয়েছে৷
- 10% পোস্ট খরচ বৃদ্ধি
“শেয়ারচ্যাটে, আমাদের লক্ষ্য হল সেরা সোশ্যাল মিডিয়া অ্যাপ হওয়া যা আমাদের ব্যবহারকারীদের আনন্দ দেয়। এর মানে হল অ্যাপ পারফরম্যান্সের দিক থেকে সেরা হওয়া। Google-এর ডেভেলপার রিলেশনশিপ টিমের সাথে আমাদের সহযোগিতা আমাদের সবচেয়ে বেশি ব্যবহৃত কম-এন্ড ব্যবহারকারী ডিভাইসগুলিতে উন্নতির ক্ষেত্রগুলি সনাক্ত করতে সাহায্য করেছে৷ আমরা হিমায়িত ফ্রেম, জ্যাঙ্ক, ওভারড্র এবং ANR সনাক্ত করতে এবং ঠিক করার জন্য সেরা পারফরম্যান্স অনুশীলন এবং সরঞ্জামগুলি শিখেছি।"
– বিহান ভার্মা, ইঞ্জিনিয়ারিং ম্যানেজার, শেয়ারচ্যাটে অ্যান্ড্রয়েড টিম