ثبت بازخورد

لطفا میزان رضایت خود را از دیجیاتو انتخاب کنید.

واقعا راضی‌ام
اصلا راضی نیستم
چطور میتوانیم تجربه بهتری برای شما بسازیم؟

نظر شما با موفقیت ثبت شد.

از اینکه ما را در توسعه بهتر و هدفمند‌تر دیجیاتو همراهی می‌کنید
از شما سپاسگزاریم.

مدیران فنی دیجی کالا
فناوری ایران

داستان بازنویسی سایت دیجی‌کالا از زبان تیم فنی: زمان تحول فرا رسیده بود

دیجی‌کالا در پایان زمستان 1400 و همزمان با تولد 15 سالگی‌اش از نمای جدید وبسایت خود رونمایی کرد. تغییراتی که تنها به ظاهر ختم نمی‌شد و بخش فنی آن نیز با بهبودهایی رو به رو ...

مجتبی آستانه
نوشته شده توسط مجتبی آستانه | ۱۷ فروردین ۱۴۰۱ | ۱۳:۱۵

دیجی‌کالا در پایان زمستان 1400 و همزمان با تولد 15 سالگی‌اش از نمای جدید وبسایت خود رونمایی کرد. تغییراتی که تنها به ظاهر ختم نمی‌شد و بخش فنی آن نیز با بهبودهایی رو به رو شده بود. به گفته مدیران فنی دیجی‌کالا در این تغییرات بحث بازنویسی مطرح بوده است تا توسعه قابلیت‌های جدید سریع‌تر شود، احتمال داون شدن سایت در برگزاری جشنواره‌ها کاهش یافته و حتی یک سری چالش‌های نیروی انسانی برای این مجموعه حل شود.

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

تغییرات سایت دیجی‌کالا

اما دیجی‌کالا در این مدت دقیقا با چه تغییراتی رو به رو شده است؟ آیا بهبودها به همین جا ختم شده یا همچنان بایستی شاهد پیشرفت‌های تجربه کاربری این وبسایت باشیم؟ به رسیدن به پاسخ سوالات ایجاد شده درباره تغییرات سایت دیجی‌کالا، با «امیرحسین بکان»، مدیر فرانت‌اند دیجی‌کالا و «فرید نوبر»، مدیر ارشد تیم طراحی محصول دیجی‌کالا هم کلام شدیم تا ببینیم طی یک سال گذشته چه داستان فنی در پشت صحنه دیجی‌کالا اتفاق افتاده است؟


امیر مستکین، مجتبی آستانه - دیجیاتو: طی هفته‌های اخیر شاهد تغییرات فنی و ظاهری در سایت دیجی‌کالا بوده‌ایم. دقیقا چه اتفاقی برای آن افتاده است؟

امیرحسین بکان- مدیر فرانت اند دیجی‌کالا: ما اخیرا به این نتیجه رسیده بودیم که با تکنولوژی، ساختار و پلتفرم موجود، دیگر نمی‌توان از این جلوتر رفت و باید عملکرد را بهبود داد و دیجی‌کالا را اسکیل کرد. اما فرآیند توسعه قابلیت‌های جدید در دیجی‌کالا با ساختار قبلی، بسیار زمان‌بر بوده و این یکی از مهم‌ترین عوامل برای کلید زدن تغییرات بود. اجرای برخی کمپین‌ها و جشنواره‌ها نیز نشان داد که ما زمانی که با پیک حضور کاربران در سایت رو به رو هستیم، سایت Down (از دسترس خارج) می‌شود که تکنولوژی و روش پیاده‌سازی سمت فرانت روی این موضوع تاثیرگذار بود.

برای اینکه این موضوع را بهبود دهیم نیاز به بهبود سایت در لایه‌های مختلف حس می‌شد. بخش اعظمی از بهبود‌ها سمت کلاینت و وب بوده و در بک‌اند نیز تغییراتی داشتیم که مربوط به نوشتن API بوده است و در حال حاضر آن را انجام داده‌ایم. مشکلی که وجود داشت این بود که وبسایت ما سرور ساید رندر می‌شد و از اینجا به بعد دیگر نمی‌توانستیم آن را بهبود دهیم زیرا با هر ریکوئست (تقاضا) سایت دیجی‌کالا رندر می‌شد و منابع مصرفی زیاد بود و امکان بهتر شدن نداشت؛ از همین رو به سمت تکنولوژی‌های جدیدتر و فریم‌ورک براساس کتابخانه React و به طور خاص Next js (فریمورک Next.js یکی از فریمورک‌های بر اساس کتابخانه React است) رفتیم. با پیاده سازی وبسایت با NextJS و تکنیک Dynamic Rendering این بهبود را اعمال کردیم.

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

دیجیاتو: آیا نسخه قبلی دیجی‌کالا در زمان‌های پیک با مشکل رو به رو می‌شد؟ این بازنویسی جدید برای چه حجمی از مخاطب طراحی شده است؟

امیرحسین بکان: با اجرای برخی از کمپین‌ها و جشنواره‌ها در زمان‌های پیک، سایت از دسترس خارج می‌شد. یکی از دلایل آن، نحوه رندر کردن از سمت ما بود که این نوع پیاده‌سازی دست ما را در ایجاد یک سری بهبود پرفورمنسی در چنین زمان‌هایی می‌بست. اما حال با بازنویسی جدید، در زمان اجرای پروموشن‌ها و کمپین‌ها می‌توانیم اقدامات متنوعی را انجام دهیم تا چنین اتفاقی رخ ندهد. 

دیجیاتو: سال 97 مدیر ارشد تکنولوژی دیجی‌کالا با رونمایی از پلتفرم جدید سوپرنوا برای دیجی‌کالا اعلام کرد تا سال‌ها مشکلی نخواهیم داشت، آیا ترافیک این فروشگاه آنلاین از پیش‌بینی‌ها بالاتر رفت یا به علت قدیمی شدن آن دست به تغییرات زدید؟

امیرحسین بکان: در جشنواره اخیر با ترافیک 400 هزار کاربر اپلیکیشن و وب، داون تایم داشتیم که دلایل متنوعی دارد و تنها به نحوه رندر شدن سمت کلاینت ارتباط ندارد. ما می‌خواستیم سایت با اعدادی بیشتر از این کار کند و بهتر شود. الان احتمال می‌دهیم که تا حداقل 3-4 برابر ترافیک قبلی ظرفیت داشته باشیم. البته این یک تکه از پازل است و سمت سرور و بک‌اند هم باید بهبودهایی داشته باشیم تا بتوانیم اسکیل کنیم.

دیجیاتو: دقیقا چه تغییراتی داده شده است؟ هم برای خود شما و هم برای کاربرانی که از دیجیکالا بازدید می‌کنند این تغییر چه اثراتی دارد؟ 

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

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

اتفاق اخیر فرصتی برای ما به وجود آورد تا بتوانیم تمام تغییرات را اجرا کنیم در حال حاضر شاید کاربران متوجه تغییرات خیلی از صفحات نشوند، زیرا بسیار شبیه نسخه قبلی است. اما بخش‌هایی هستند که واقعا در این پروژه تغییرات قابل ملاحظه‌ای داشتند، همان 10 ماه پیش که تغییرات استارت زده شد، گفتیم حالا که این اتفاق در حال رخ دادن است، آن‌جاهایی که مشکلات داشته و روی تجربه کاربر تاثیر می‌گذاشت، مثل صفحه اصلی دیجی‌کالا یا فرآیند خرید را می‌توان گفت واقعا ری دیزاین روی آن‌ها صورت گرفته است؛ بعضی بخش‌ها بیشتر و بعضی بخش‌ها کمتر اتفاق افتاد. جهت تغییرات نیز به دنبال آن بودیم که نیازهای کاربران را رفع کنیم، از سمت دیگر نیز یک سری نیازهای بیزینسی (کسب‌وکاری) وجود داشت؛ مثلا بیزینس‌لاین‌های جدید مثل دیجی‌کالا جت و پیندو آمده بودند و می‌خواستیم آن‌ها را از طریق ترافیکی که دیجی‌کالا دارد پروموت کنیم. این اتفاق قبلا روی وبسایت رخ نمی‌داد و تنها روی اپلیکیشن بود.

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

دیجیاتو: این قسمت را بیشتر توضیح دهید. 

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

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

تیم فنی دیجی کالا

امیرحسین بکان: یک کار بزرگی که در دیزاین انجام شده، همین ایجاد دیزاین سیستم است. این دیزاین سیستم خیلی برای ما خوب بود، دیجی کالا پروداکت‌های زیادی دارد و خیلی وقت‌ها اشتراک‌های خیلی زیادی هم دارند؛ تیم دیزاین به ما اعلام کرد که دو دیزاین سیستم را در اختیار ما قرار می‌دهد و این دو دیزاین سیستم می‌تواند بین این‌ها حجم خوبی از کد را به اشتراک بگذارد. این دیزاین سیستم‌ها یکی برای محصولات شاپینگ ما که شامل دیجی‌کالا، دیجی‌کالا جت و پیندو است و یکی هم برای پنل فروشندگان و سایر پنل‌های داخلی ما است.

متاسفانه به خاطر قدیمی بودن تکنولوژی فرانت، ما نمی‌توانستیم این تلاش و زحمتی را که تیم دیزاین کشیده بود را پیاده‌سازی کنیم. در سیستم قدیمی اینکه کدها را به اشتراک بگذاریم و با هم سینک کنیم، غیرممکن نبود اما تقریبا هزینه‌های این کار آنقدر زیاد بود که ترجیح می‌دادیم سراغ آن نرویم. در محصولات جدیدتر مثل دیجی‌کالا جت و پیندو، پروژه‌ای به نام Front-End Core ساختیم، همان طور که این سمت دیزاین سیستم هست، ما هم  UI kit خودمان را توسعه دادیم و در پروژه‌ها استفاده کردیم که می‌تواند بین پروژه‌ها این زبان طراحی را به اشتراک بگذارد. یکی از چیزهایی که باعث شد در چند ماه آخر توسعه دیجی‌کالا سرعت بگیرد، همین بود که به طور مثال دیزاین سیستمی که در پیندو استفاده کردیم را در دیجی‌کالا هم استفاده کردیم و توانستیم سرعت توسعه دیجی‌کالا را بهبود دهیم.

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

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

فرید نوبر: قابل ذکر است که می‌دانستیم کاربران iOS تجربه خوبی نداشتند، اپلیکیشن ما کیفیت بهتری نسبت به نسخه وب موبایل دارد و کاربران اندرویدی می‌توانستند آن را دریافت کنند. اما کاربران iOS به علت تحریم اپل نمی‌توانسند نسخه اپلیکیشن را دریافت کنند و وب موبایل ما خوب نبود. این تغییر خیلی کمک می‌کند تا تجربه کاربران iOS خیلی به تجربه کاربران اپلیکیشن اندروید نزدیک‌تر شود.

دیجیاتو: می‌توانید بگویید سرعت بارگذاری صفحات به نسبت قبل چقدر افزایش داشته است؟

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

امیرحسین بکان

جا دارد به این موضوع اشاره کنم که جسته و گریخته شاهد انتقاداتی از نسخه جدید سایت بودیم و برایمان جذاب بود که خیلی سریع به این تغییر تکنولوژی واکنش نشان داده شده است.

دیجیاتو: یعنی شما مدعی سریع‌تر شدن دیجی‌کالا هستید اما عدد دقیق آن مشخص نیست.

امیرحسین بکان: بله، ترجیح می‌دهیم عدد را زمانی اعلام کنیم که کیفیت مدنظرمان را ایجاد کرده باشیم.

دیجیاتو: علت انتخاب کتابخانه ری‌اکت چه بود و اکنون حجم کد نوشته شده چقدر نسبت به قبل تغییر کرده است؟

امیرحسین بکان: علت انتخاب ری‌اکت تنها یک تصمیم فنی نیست و چند وجه دارد که حتی یک وجه آن HR (منابع انسانی) است. از نظر فنی مهم‌ترین مزیتش امکاناتی است که در اختیارمان قرار می‌دهد. مثلا می‌توانیم UX را به شدت بهتر کنیم، سرعت بارگیری صفحات را افزایش دهیم و جای بهبود بیشتری هم دارد و در نهایت بسیار منعطف است تا چیزی که در نهایت به کاربر نمایش می‌دهیم را بهتر کنیم. 

در وبسایت قبلی دست ما بسته بود، یک کد HTML بود که رندر می‌شد و یک سری فایل‌ها دانلود می‌شدند و تمام. بنابراین خیلی نمی‌توانستیم با آن بازی کنیم یا حتی اگر ممکن بود، بسیار هزینه بر بود. پس الان دست ما برای کار کردن روی پرفورمنس (عملکرد) باز است. دومین موضوع پیاده‌سازی (ایمپلمنت کردن) همین دیزاین سیستم است. از دیزاین سیستم یک کتابخانه ساخته شده و از آن در پروژه‌های دیگر استفاده شده است که واقعا برای ما همه چیز بود. شاید روی دیجی‌کالا کمتر خودش را نشان داد اما مثلا زمانی که دیجی‌کالا جت را راه‌اندازی کردیم و به دنبال اجرای پیندو بودیم، سریع توانستیم بر اساس دیزاین سیستم پیاده سازی شده در دیجی‌کالاجت کتابخانه‌هایی ایجاد کنیم و در پیندو از آن ها استفاده کنیم. با استفاده از کتابخانه ساخته شده از دیزاین سیستم، پیندو در نهایت 2 ماه پیاده‌سازی (ایمپلمنت) شد؛ در واقع ما 30 تا 40 درصد کدها و این دیزاین سیستم را آماده داشتیم و فقط پازل را کنار هم می‌چیندیم و یک وبسایت می‌ساختیم. در دیجی‌کالا نیز داستان به همین شکل بود اما چون مقیاس دیجی‌کالا خیلی بزرگ بود، به خوبی نتوانست این موضوع را نشان دهد.

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

دیجیاتو: در مورد خود فرآیند از لحاظ فنی و طراحی توضیح دهید که چه زمانی شروع شد، چند نفر درگیر آن شدند و چطور شد به تولد دیجی‌کالا رسید؟

فرید نوبر: خیلی وقت بود که این تصمیم مطرح شده بود. اما برای ما عملا از ری‌دیزاین اپلیکیشن شروع شد. از نظر ما اپلیکیشن از نظر دیزاین، برنامه خوبی بود (البته الان که 2-3 سال از آن گذشته معتقدیم جای بهبود دارد) و وقتی ری‌دیزاین اتفاق افتاد، ما یک مهاجرت ابزاری داشتیم از اسکچ (Sketch) به فیگما (Figma) و وقتی این موضوع اتفاق افتاد، مجبور بودیم همه دیزاین‌ها را دوباره روی پلتفرم جدید اجرا کنیم. پس دیدیم این واقعا یک فرصت است، هر ماه یک هفته را خالی می‌کردیم و این تغییرات که در حال رخ دادن بود، گفتیم آن را روی دیزاین سیستم آورده و دیزاین سیستم را روی ویوهای مختلف دسکتاپ و پلتفرم‌های مختلف اکسپند کنیم که این اتفاق همان موقع افتاد و تقریبا همه دیزاین‌ها را که منتقل می‌کردیم یک کلین آپ یا بهبودهای طراحی دوباره انجام دادیم. 

فرید نوبر

زمانی که مشخص شد قرار است بازنویسی سایت انجام شود، ما از این فرصت استفاده کردیم و صفحه اصلی (Home Page) و بخش‌هایی از فرآیند چک اوت Check Out را هم باز طراحی کردیم. در واقع یک سری تغییرات اساسی‌تری دادیم که محدود به کلین‌آپ نبود.

دیجیاتو: شما به عنوان مدیر ارشد تیم طراحی محصول چرا هیچ وقت روی سوپر اپلیکیشن شدن دیجی‌کالا اصرار نکردید؟ آیا موافق این موضوع هستید یا مخالفش؟

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

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

دیجیاتو: درست است که دیجی‌کالا اکنون سرویس‌هایی ندارد که همه نیازهای روزانه را رفع کند، اما تصور کنید سوپر اپی وجود دارد که همه سرویس‌های فعلی دیجی‌کالا در آن هستند، طبیعتا استفاده از سرویسی مثل پیندو خیلی بیشتر می‌شود. 

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

مدیران فنی دیجی کالا

دیجیاتو: در بازگشت به سوال قبل درباره انتخاب ری‌اکت، دو دلیل برایش مطرح کردید. تاکید روی بحث HR از طرف شما،  این سوال را برایم ایجاد کرد که آیا ری‌اکت بهترین گزینه برای دیجیکالا بود یا چنین دلایلی باعث شد به سمت آن بروید؟

امیرحسین بکان: در تکنولوژی‌های جدیدتر مثل VueJS و react js برای آن‌هایی که کامونیتی بزرگی دارند، آپشن‌ها خیلی گسترده نیست و معمولا انتخاب‌ها محدود به همین دو مورد است. میان این دو مورد هم تفاوت آن چنانی وجود ندارد. اولین کتابخونه یا فریم‌ورکی که روی آن بحث می‌کردیم اول VueJS بود و بعد تصمیم گرفتیم به خاطر جامعه (کامونیتی) بزرگ‌تر و بعد فنی به این سمت حرکت کردیم  با ری‌اکت کار را انجام دهیم. واقعیتش را بخواهید طبق تکنولوژی‌ها و کتابخانه‌هایی که وجود دارد، آن قدر انتخاب‌ها گسترده نیست.

دیجیاتو: در فرآیند بازنویسی، ظاهر دیجی‌کالا هم تغییرات اساسی داشت. احساس می‌کنم تا حدودی مینیمال‌تر شده است، چطور این تصمیم را گرفتید؟ 

فرید نوبر: تا حدی این موضوع درست است و واکنش‌های مثبت و منفی نسبت به آن داشتیم. یک بخش زیادی از اتفاقاتی که در طراحی می‌افتد، عادت‌های کاربران و ترندهایی است که در طول زمان اتفاق می‌افتد. نهایتا همه سعی می‌کنند این ترند را دنبال کنند و علاوه براین، ایده‌هایی که به ذهنشان می‌رسد را دنبال کنند و این وسط بحث نیازهای کسب‌وکار نیز مطرح است.

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

همینطور اشاره کنم که یک تغییر دیگری که اتفاق افتاده تغییر UX Writing دیجی‌کالا بوده، که در دنیا و ایران جدید بوده و کم کم در حال جا افتادن است. ما دوست داشتیم کل UX Writing دیجی‌کالا را از اول تغییر دهیم و این کار را طی ماه‌های گذشته انجام دادیم. این البته به صورت 100درصد اکنون پیاده‌سازی نشده و فعلا 60 تا 70 درصد آن تغییرات انجام شده است و احتمالا تا آخر سال این میزان باقیمانده را نیز تغییر می‌دهیم.

دیجیاتو: دیجی‌کالا با تغییرات جدید می‌تواند حضور 400 تا 500 هزار کاربر را به صورت همزمان مدیریت کند، فکر می‌کنید با توجه به تغییراتی که انجام شده است، دوباره دیجیکالا چه زمانی نیاز به تغییر ساختاری و فنی داشته باشد؟

امیرحسین بکان: اگر تنها بحث فرانت را در نظر بگیریم، ما با مواردی که در نظر می‌گیریم فکر کنم بتوانیم برای سال‌های خوبی دیجی‌کالا را بیمه کنیم و دوباره نیاز به تغییرات جدید نباشد. برای سایر بخش‌های دیجی‌کالا در حال پیش بردن این کار هستیم که یک سری بهبودهای بزرگی انجام شود. احتمالا تا چند وقت دیگر خبرهایی در این باره منتشر خواهد شد که چه اقداماتی در دست اجرا است و ترجیح می‌دهم جزئیات آن را تیم‌هایی که روی آن در حال کار هستند، اعلام کنند.

دیجیاتو: به نظر شما تغییراتی که انجام شده می‌تواند روی درآمدزایی دیجی‌کالا اثر گذار باشد؟

فرید نوبر: هر بهبودی که در تجربه کاربری صورت بگیرد، احتمالا تاثیر روی Conversion Rate (نرخ تبدیل) می‌گذارد که به طور مستقیم با درآمد بیزینس ارتباط دارد، اما اینکه رقم چقدر خواهد بود، در طول زمان مشخص خواهد شد. 

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

تغییرات سایت دیجی کالا

امیرحسین بکان: ما سمت توسعه را به شدت بهبود خواهیم داد. به نظرم در دسترس قرار گرفتن قابلیت‌هایی که آن‌ها را برای بیشتر شدن فروشمان ایجاد می‌کنیم، تاثیر مستقیمی روی درآمد دیجی‌کالا خواهد گذاشت.

دیجیاتو: عددی وجود دارد که برای کل تغییرات چقدر هزینه شد؟

امیرحسین بکان: عدد این هزینه به سادگی قابل محاسبه نیست اما حدودا 10 تا 12 نفر در بخش فرانت و حدود 4-5 نفر نیز در بخش بک‌اند درگیر تغییرات بودند. 

فرید نوبر: و سمت دیزاین نیز یک تیم 8 نفره درگیر پروژه بودند و در یکی دو ماهه اخیر حداقل نیمی از آن‌ها به صورت فول تایم درگیر بودند. اما برای بخش‌های دیگر نمی‌شود دقیقا مشخص کرد که افراد چقدر درگیر این پروژه بودند. شاید 20 تا 30 درصد زمانشان را درگیر بودند.

امیرحسین بکان: البته تیم‌های دیگری مثل پروداکت، زیرساخت، دواپس، تیم QA کنترل کیفی در تیم مهندسی واحد دپارتمان فنی و... نیز درگیر این پروژه بودند. کلا می‌شود گفت که همه بخش‌های تیم فنی دیجی‌کالا درگیر این پروژه شدند.

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

دیجیاتو: کلام آخر؟

امیرحسین بکان: از بازخورد مثبت و منفی مردم نسبت به تغییرات سایت دیجی‌کالا بسیار خوشحال شدم زیرا برایشان مهم بود، یک سری نیز اشکالات درست و غلطی را به ما اطلاع دادند که برایم بسیار ارزشمند است. برخی از این اشکالات را البته می‌دانستیم و با توجه به عجله‌ای که داشتیم مجبور شدیم با این اشکالات بارگذاری کنیم اما تک تک آن‌ها را بهبود خواهیم داد.

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

دیدگاه‌ها و نظرات خود را بنویسید
مجموع نظرات ثبت شده (2 مورد)
  • vahed
    vahed | ۱۹ فروردین ۱۴۰۱

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

  • expert_developer
    expert_developer | ۱۷ فروردین ۱۴۰۱

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

مطالب پیشنهادی