কম্পিউটার টিউটোরিয়াল

ওয়ার্ডপ্রেসের দ্রুত পরিবর্তনশীল দৃশ্যপটে সামনে থাকা: অভিযোজন ও অভিযান

আপনার প্রিয় ওয়ার্ডপ্রেস সিকিউরিটি প্লাগইন ম্যালকেয়ার (MalCare) gầnে বিন গিলব্যাংকস (Ben Gillbanks) নামক একজন অভিজ্ঞ ওয়ার্ডপ্রেস ডেভেলপারের সাথে সাক্ষাতকার করার সুযোগ পেয়েছে। নিচের সাক্ষাতকartea বেনের অতীতের কাজ এবং কীভাবে পরিবর্তনশীল ওয়ার্ডপ্রেস ল্যান্ডস্কেপ তাকে প্রাসঙ্গিক থাকার সৃজনশীল উপায়ে চিন্তা করতে বাধ্য করছে, সেটি আলোকপাত করে। এই সাক্ষাতকারটি रोমাঞ্চক এবং গভীর। তাই চলুন শুরু করি!

সাক্ষাতকার

হ্যালো বেন! সব প্রথমে, আজ আমাদের পাঠকদের সাথে কথা বলার জন্য সময় দান করার জন্য আপনাকে ধন্যবাদ। আপনি ১৩ বছর ধরে ওয়ার্ডপ্রেস জগতে আছেন, তাই আপনার পরিচয় দিন এবং একটি ওয়েব ডেভেলপarer হিসেবে আপনার যাত্রা এবং আপনি কীভাবে এখানে এসেছেন তা আমাদের সাথে শেয়ার করুন।

সাক্ষাতকারের জন্য আমাকে আমন্ত্রণ জানানোর জন্য ধন্যবাদ! 🙂

আমি বিশ্ববিদ্যালয়ে পড়াশোনা শুরু করেছিলাম ৩ডি আর্টে, লক্ষ্য ছিল ভিডিও গেমস উদ্যোগে কাজ করা। ৩ বছর ৩ডি আর্টে স্পেশালাইজ করলাম, কিন্তু কোর্সটি বহুমুখী ছিল এবং ওয়েব ডিজাইনও করতাম। সেটি ১৯৯৮ সালের কথা, আমি মনে করি সিএসএস (CSS) আসার সময়। তখন আমরা ফন্ট অ্যাট্রিবিউট সরাসরি এইচটিএমএলে হার্ডকোড করতাম—সেক্ষেত্রে একটি সিএসএস ফাইল থেকে সব কিছু নিয়ন্ত্রণ করা একটি বিপ্লব ছিল।

পরে মিনিক্লিপ.কম (Miniclip.com)—একটি অনলাইন গেম পোর্টাল—এ গেম আর্টিস্ট হিসেবে চাকরি পেলাম। আমি ৩ নম্বরের কর্মী ছিলাম, এবং তাদের একজন ওয়েব ডিজাইনার দরকার ছিল। সবাই সব কিছু করত, এবং যেহেতু আমার सर्वाधিক অভিজ্ঞতা ছিল, আমি ওয়েবসাইটের দায়িত্ব নিলাম। 最終的には ২০+ সদস্যের একটি টিমের ডায়रेক্টর অফ ওয়েব ডেভেলপমেন্ট হলাম। সেই সময় আমি একটি ব্লগ শুরু করতে চেয়েছিলাম (আমার ইতিমধ্যে একটি হোম-গ্রো সিএমএস-সহ ওয়েবসাইট ছিল) এবং ওয়ার্ডপ্রেস খুঁজে পেলাম। তখন থেকে আমার ব্যক্তিগত সাইটের জন্য ওয়ার্ডপ্রেস ব্যবহার করছি।

আপনি কেন নিজস্ব ওয়ার্ডপ্রেস থিম ডেভেলপমেন্টে ফুল-টাইম যাওয়ার সিদ্ধান্ত নিলেন?

মিনিক্লিপে ১১ বছর কাজ করলাম। ডায়रेক্টর অফ ওয়েব ডেভেলপমেন্ট হলাম, কিন্তু কয়েক বছর সেটি করার পর ম্যানেজমেন্ট আমার পছন্দ নয় বলে বুঝলাম, তাই আমার প্রতিস্থানী নিয়োগ করলাম এবং একটি আরও ফরোয়ার্ড-থিংকিং ভূমিকায় এসেলাম—যেটি আমি খুব উপভোগ করলাম।

মিনিক্লিপ একটি গেমস ওয়েবসাইট ছিল যেখানে ব্রাউজার-বেসড গেমস খেলা হতো—প্রধানত ফ্ল্যাশ (Flash) এবং ইউনিটি (Unity) গেমস। কিন্তু ভবিষ্যত ডিকে মোবাইল অভিমুখী, তাই মিনিক্লিপ পর্তুগালে একটি ডেভেলপমেন্ট স্টুডিও খুলল যেখানে গেম তৈরি হতো। ফ্ল্যাশ ধীরে ধীরে убиচ্ছিল এবং অনলাইন গেমসে ভবিষ্যত দেখা যাচ্ছিল না। তাই নিজের কিছু করার জন্য সঠিক সময় মনে হলো।

২০০৭ সালে ওয়ার্ডপ্রেস থিম বিক্রি শুরু করলাম—আমরা থিম শপের পথপ্রদর্শকদের একই। মিনিক্লিপে ফুল-টাইম কাজ করার সাথে সাথে এটি করতাম। ওয়ার্ডপ্রেসে ফুল-টাইম যেতে ৮ বছর সময় লেগেছে। কিছু মায়নে আমি চাইতাম আগে করতাম, কারণ শুরুতে খুব সাফল্য পেয়েছিলাম। কুಲ লোকজন নিয়োগ করলাম সাপোর্টের জন্য। কিন্তু এখন একলা চমকدار কাজ করছি।

২০০৭ সালে আপনি প্রো থিম ডিজাইন (Pro Theme Design) শুরু করেন, এবং আপনার ওয়ার্ডপ্রেস টেমপ্লেটগুলো নির্দিষ্ট উদ্দেশ্যে তৈরি হয়, ব্লোটেড, সার্ব-ইন-ওয়ান (all-in-one) চয়েস হিসেবে নয়। ওয়ার্ডপ্রেস ব্যবহারকারীদের জন্য স্পেশালাইজড থিম প্রদানের পেছনে আপনার যুক্তি কী?

আমি সার্ব-ইন-ওয়ান থিমগুলো পছন্দ করি না। সেগুলো গোলমাল। ওয়ার্ডপ্রেস টুইটার/ফেসবুক/স্ল্যাক গ্রুপে শুধু লোকজন শিকায়ত করে যে থিমগুলো এডিট করা কতটুকু কঠিন। অথবা কতটুকু ধীর ও ব্লোটেড।

ব্যবহারকারীর দৃষ্টিকোণ থেকে এর আকর্ষণ বুঝতে পারছি। তাদের স্বপ্ন দেখানো হয় যে তারা যা চায় করতে পারবে, কিন্তু বাস্তবতা ভিন্ন। ডেমোর মতো সাইট বানানো প্রায় অসম্ভব।

আমি জানি কিছু ডেভেলপার গুটেনবার্গ (Gutenberg) পছন্দ করেন না, কিন্তু ব্যবহারকারীর দৃষ্টিকোণ থেকে এটি সেটআপ অনেক সহজ করবে। ব্লক এডিটর ব্যবহার করে দ্রুত একটি আকর্ষণীয় সাইট তৈরি করা যায়।

ব্যক্তিগতভাবে আমি এমন ওয়ার্ডপ্রেস থিম তৈরি করতে চাই যা একটিভেট करते ही ডেমোর ৯৯% দেখাবে। কাস্টমাইজারে কিছু ফ্লেক্সিবল এলিমেন্ট এবং সেটিংস যোগ করি, কিন্তু মূলত সেগুলো 'জাস্ট ওয়ার্কস' (just works)।

প্রো থিম ডিজাইনের ইতিহাসে গভীরে যাক। ওয়েবসাইট শুরু করার সময় আপনার অভিজ্ঞতা কেমন ছিল? প্রথম পেযিং কাস্টমাররা কীভাবে পেয়েছিলেন? 

এখন মনে নেই! অনেক আগের কথা—তবে মনে আছে যে খুব সহজ ছিল। যেহেতু তখন একদুই থিম শপ ছাড়া অন্য কিছু ছিল না, লোকজন খুব দ্রুত কিনত। আমাদের প্রথম কাস্টমারদের একজন আডিআই (Adii) ছিলেন, যিনি পরে WooThemes কো-ফাউন্ড করলেন।

মনে আছে আমরা ম্যাগাজিন থিম বানানোর প্রথম লোকজন। ড্যারেন (Darren) একটি ফ্রি থিম বানিয়েছিলেন মিম্বো (Mimbo) নামে, এবং আমাদের প্রথম পেইড থিম ছিল মিম্বো প্রো (Mimbo Pro)। অন্য সবাই ব্লগিং থিম বানাত।

তখন কয়েকটি জনপ্রিয় ওয়ার্ডপ্রেস নিউজ ব্লগ ছিল (আমি মনে করি WPTavern একমাত্র জনপ্রিয় বাকি আছে) এবং সবাই সেগুলো পড়ে। তাই আমাদের বেশি म्हনত করতে হয়নি। কয়েকজনকে বললাম এবং টাকা আসতে শুরু করল।

দুর্ভাগ্যক্রমে এখন এটা হয় না।

আপনি জানালেন, আপনি আপনার থিমস ওয়েবসাইটের ওয়েব ডেভেলপার, মালিক এবং সাপোর্ট পারসন। অর্থাৎ আপনি തিম তৈরি করুন, সেগুলো তৈরি করুন এবং কাস্টমার প্রশ্নের উত্তরও দিন। এটা সারসংক্ষেপ, কিন্তু এই তিনটি ভূমিকা সিরিয়াস দায়বদ্ধতা নিয়ে আসে। আপনি টাইম ম্যানেজমেন্ট কীভাবে করে এই তিনটাকে ভারসাম্য রাখেন?

শুরুর দিনগুলিতে ড্যারেন ডিজাইনের অধিকাংশ কাজ করতেন, কিন্তু এখন তিনি জড়িত নন। তিনি মিউজিক প্রোডাকশনে চলে गए। তাই আমি একলা সব কিছু করি।

আমি টাইম ম্যানেজমেন্টের সম্পর্কে চিন্তা করি না। আমার দর্শন হলো যতটা সম্ভব সরলীকরণ বা অটোমেশন করা। তাই আমার একটি বিল্ড প্রসেস আছে যা থিম আপডেটের যত্ন নেয়। কমন প্রশ্নের উত্তর দেওয়ার জন্য বিস্তারিত ডকুমেন্টেশন আছে। সাপোর্ট ফোরামে কেউ পোস্ট করলে আমাকে জানাতে IFTTT ব্যবহার করি।

যেখানে সম্ভব নিজে বানাই, কিন্তু জীবন সহজ করতে সার্ভিসের জন্য টাকা দিতে আপত্তি নেই। আমার প্রিয় ফ্রিএজেন্ট (FreeAgent) যা আমার অ্যাকাউন্টিং এর অধিকাংশ করছে।

যে যেকোনো কাজ আমার করা কমাতে পারে, আমি সেটি করি।

আপনি উল্লেখ করেছেন, ড্যারেন হয়ট (Darren Hoyt) এর সাথে সহযোগিতায় আপনি মিম্বো প্রো তৈরি করেছিলেন। এটি প্ল্যাটফর্মের অন্যতম πρωতিনিধি প্রিমিয়াম ম্যাগাজিন থিম। এর ডেভেলপমেন্ট টিমথাম্ব (TimThumb) নামক ইমেজ রিসাইজ স্ক্রিপ্টের সৃষ্টিও করল। ড্যারেনের সাথে এই সম্মানিত প্রজেক্টে কাজ করার অভিজ্ঞতা কেমন ছিল? ফলাফল নিয়ে কতটুকু খুশি?

খুব মজা ছিল। তখন কেউ ভার্সন কন্ট্রোল ব্যবহার করত না, তাই আমরা ডেভ সার্ভারে লাইভ ফাইল এডিট করতে অনেক রাত কাটাতাম। একে অপরের চেঞ্জ আওভাররাইট করে দেওয়া, জিনিসপত্র ভাঙানো এবং কীভাবে ফিক্স করবো সেটা না জানা—এই কারণে এটা তৈরি করতে আশা থেকে অনেক বেশি সময় লেগেছিল।

ড্যারেন ডিজাইনারের দৃষ্টিকোণ থেকে জিনিসপত্র দেখতেন। টেকনিকাল দিকটাতে কম আগ্রহী, আর আকর্ষণীয় ও ইউজার-ফ্রেন্ডলি জিনিস তৈরি করতে বেশি আগ্রহী। তাই টিমথাম্ব এবং ক্যারOUSEল (carousel) এর মতো জিনিসপত্র আপন%); সেটা অন্য কেউ করত না। শুরুর দিনগুলিতে আমরা প্রতিটি থিমের জন্য একটি ইউনিক ফিচার রাখতে চেয়েছিলাম। কিছুটা অন্য সব থেকে আলাদা করার জন্য।

মিম্বো প্রো এরপর ৪ বার রিরাইট হয়েছে, কিন্তু এখন এর বয়স দেখা দিচ্ছে এবং আমি মনে করি ব্লক-বিল্ডিং (block building) এর dünyায় এটা ফিট করে না। কিন্তু এটা একটি বিশাল লার্নিং এক্সপেরিয়েন্স ছিল এবং তখন এটা করার আমার আনন্দ ছিল।

টিমথাম্ব একदम আলাদা জিনিস। টিমথাম্বের কারণে ফিচারড ইমেজ (featured images) ওয়ার্ডপ্রেসে যোগ হয়েছিল। এটা একটি বড় উদ্ভাবন ছিল, এবং আমি মনে করি এর कारण শুরুর দিনগুলোতে আমাদের ভালো সাফল্য ছিল। লোকজন জানতে চেয়েছিল আমরা কীভাবে এটি ব্যবহার করলাম এবং নিজদের থিমে স্ক্রিপ্টটি যোগ করত।

প্রো থিম ডিজাইনের একলা যোদ্ধা হিসেবে, আপনি পরবর্তী থিমের জন্য ব্রেনস্টর্মিং কীভাবে করেন? কোনো প্রজেক্ট শুরু করার আগে মূল প্যারামিটারগুলো কী কী বিবেচনা করেন? 

আমি স্কেচ (Sketch) ব্যবহার করি থিম ডিজাইন করার জন্য। আমার একটি স্কেচ ফাইল আছে যাতে প্রায় ৫০ টি ডিজাইন আছে। সেটি একটি 'স্কেচ বুক' (sketch book) এর মতো কাজ করে। মনে पड़লে যোগ করি। অধিকাংশ ডিজাইন অসম্পূর্ণ, শুধু ডিজিটাল ডুডল (digital doodles), কিন্তু কখনো কখনো কিছু কাজ করে এবং সেটি আরও ডেভেলপ করি।

আমি বেশি প্ল্যানিং করি না। হোমপেজ ডিজাইন করি থিমের ফিল (feel) তৈরি করতে এবং তারপর ব্রাউজারে বিল্ড করা শুরু করি। হোমপেজ বানার সাথে সাথে বাকি ডিজাইন স্বাভাবিকভাবে ফিট হয়ে যায়। যেকোনো জায়গায় আটকে থাকলে স্কেচে ফিরে সেই এলিমেন্ট ডিজাইন করি।

そう言うと করতেও এখন আমি অনেক থিম বানাই না। কয়েক বছর ধরে কিছু নতুন রিলিজ করিনি। আমি মনে করি থিমের ভবিষ্যৎ সীমিত এবং ধীরে ধীরে ওয়ার্ডপ্রেস কোর (WordPress core) দ্বারা তা আটকানো হবে। ব্লক এডিটর দ্বারা এগুলো বড় ölçরে রিপ্লেস হবে।

তাই আমি অনেক সময় চিন্তা করেছি কীভাবে প্রাসঙ্গিক থাকা যায়। এবং আমার জন্য ভবিষ্যৎ হলো ওয়ার্ডপ্রেস প্লাগইন/ব্লক এবং তাই এখন সেটির ওপর সময় দিচ্ছি।

আমি এছাড়াও নীতিশাস্ত্র (ethics), গোপনীয়তা (privacy), টেকসইতা (sustainability) এবং অ্যাক্সেসিবিলিটি (accessibility)—এই বিষয়গুলোতে খুব আগ্রহী। আমি যে একটা থিম এখন তৈরি করছি সেটি সুপার লাইটওয়েট এবং অ্যাক্সেসিবল হওয়ার জন্য ডিজাইন করা। এটা এটাকে দ্রুত, দক্ষ এবং সবার জন্য সহজ ব্যবহারযোগ্য করে তোলে। কোডটি গিটহাবে (GitHub) আছে যাতে কেউ কন্ট্রিবিউট বা ফর্ক (fork) করতে পারে। ডিজাইনটি বাইনারি মুন (Binary Moon)-এ দেখতে পাবেন।

বাইনারি মুন (Binary Moon) সম্পর্কে আরো বলুন। এতে একটি পোর্টফোলিও এবং খুব সক্রিয় একটি ব্লগ আছে যেখানে ব্যবহারকারীরা প্রতিটি পোস্টে কমেন্ট করেন। সাইটটির উদ্দেশ্য কী? 

BinaryMoon.co.uk ১৯৯৯ পর্যন্ত যাওয়ার থেকে আমার পারসোনাল সাইট। ২০০৫ সালে ব্লগ হলো। আয়ের দৃষ্টিকোণ থেকে কতটুকু গুরুত্বপূর্ণ ছিল সেটা জানি না। শুরুর দিনগুলিতে এটি বেশি গুরুত্বপূর্ণ ছিল বলে মনে হচ্ছে। এখন এটি অধিকাংশত আমি অন্যান্য ডেভেলপারদের সাথে কথা বলি যারা থিম বানান তাই তাদের আমার প্রোডাক্ট দরকার নেই।

লার্নিং (learning) এর দৃষ্টিকোণ থেকে, আমি মনে করি শেখার সেরা উপায় হলো নিজে রিয়েল-ওয়ার্ল্ড প্রজেক্টে জিনিসপত্র টেস্ট করা। লোকালি থিম টেস্ট করলে কতটুকু করলেও, নিজের সাইটে ব্যবহার করলে সবসময় সমস্যা পাই। কিন্তু এটা ভালো, কারণ আমি সেগুলো ফিক্স করে দিতে পারি যাতে অন্যদের দেখতে না পড়ে।

আরlier বলেছিলাম; বাইনারি মুনে যেটি চলছে সেটি জার্ভিস (Jarvis), যা আমি এখন তৈরি করছি। এতে নতুন ফিচার ট্রায়াল করি। উদাহরণস্বরূপ এতে লাইট এবং ডার্ক মোড আছে এবং স্বয়ংক্রিয়ভাবে কালার স্কিম চেঞ্জ হয়। আপনি লাইট এবং ডার্ক ব্যাকগ্রাউন্ড কালার বেছে নিন, বাকি সব কালার স্বয়ংক্রিয়ভাবে চেঞ্জ হয়ে রিডেবল (readable) থাকে।

ব্যবহারকারীর দৃষ্টিকোণ থেকে এটা খুব সহজ। শুধু দুটি সেটিং চেঞ্জ করলে সম্পূর্ণ ভিন্ন একটি ওয়েবসাইট পাবেন। এটা ভিজিটারের সেটআপের সন্মানও করে। আমি মনে করি এটা একটি সুন্দর ফিচার এবং ওয়ার্ডপ্রেসে এটাকে কমই দেখি, কারণ ওয়ার্ডপ্রেসের বিল্ট-ইন ব্যাকগ্রাউন্ড কালার সেটিং শুধু একটক কালার সেট করার অনুমতি দেয়।

আপনি গত ১২ বছর ধরে ওয়ার্ডপ্রেস ডেভেলপমেন্ট কমিউনিটির সাথে জড়িত। এটি আপনাকে পেছনে ঝাঁকতে দেয়, একই সাথে ভবিষ্যতে কী আসছে সেটা দেখার একটি יুনিক এজ (unique edge)ও দেয়। ২০২০ সালে ওয়ার্ডপ্রেস ডেভেলপমেন্টে নেমে পড়তে চাই একজন নবশিখের জন্য আপনি কোন তিনটি পরামর্শ দিবেন?

১. থিম বিক্রি করবেন না

এটা পরামর্শ, আপনি যদি থিম বিক্রি করতে চান তবে আমি আপনাকে বাধা দিব না। কিন্তু এটা খুব কঠিন ব্যবসা, এবং যেই দ্রুত টাকা পাওয়ার সুযোগ ছিল সেটা প্রাচীন ইতিহাস।

আমি সৌভাগ্যশালী যে আমার থিমগুলো WordPress.com-এ বিক্রি হয়, এবং আমার অধিকাংশ আয় সেখান থেকে আসে। সেটা না থাকলে আমি احتمالত অন্য কিছু করতাম।

২. জাভাস্ক্রিপ্ট (JavaScript) শিখুন

সঠিকভাবে জাভাস্ক্রিপ্ট শিখলে প্রোগ্রামিং-এ একটি সুদৃঢ় ভিত্তি পাবেন। কিছু ভাষার তুলনায় এটি সহজ, কিন্তু খুব শক্তিশালী, এবং এই মুহূর্তে ওয়েব इसी দিকে যাচ্ছে বলে মনে হচ্ছে।

আপনি যদি ওয়ার্ডপ্রেস এডিটরের জন্য কিছু বানাতে চান তবে রিয়েক্ট (React) শিখাও উপকারী হতে পারে। এটি হেডলেস সাইট (headless sites) বানাতেও কাজে আসবে গ্যাটসবি (Gatsby) এর মতো সফ্টওয়্যারের সাথে।

কিন্তু প্রথমে রিয়েক্ট শিখবেন না। প্রথমে জাভাস্ক্রিপ্ট শিখুন।

আপনি যদি জাভাস্ক্রিপ্ট দিয়ে শুরু করেন, আপনার স্কিল রিয়েক্ট, ভিউ (Vue), নোড (Node), ডেনো (Deno), এবং ভবিষ্যতে আসতে পারে যেকোনো প্ল্যাটফর্মের মধ্যে ট্রান্সফারেবল (transferable) হবে। আপনি শুধু রিয়েক্ট শিখলে প্ল্যাটফর্ম স্বিচ করা অনেক কঠিন হবে।

৩. কিছু আলাদা করুন

আমার মানে ওয়ার্ডপ্রেস ছাড়া কিছু করবেন না, বরং ওয়ার্ডপ্রেসের সাথে কিছু এমন করুন যা আগে করা হয়নি। সৃজনশীল बनুন। আরেকটা ব্লক কালেকশন (block collection) বানাবেন না, যদি না আপনার কাছে কিছু ইউনিক অফার থাকে অথবা মনে করেন আপনি যেটা আছে তার চেয়ে ভালো করতে পারবেন। আপনি যদি ব্লক এডিটরের জন্য কিছু বানাতে চান তবে আমি নিশ্চিত আমার মতে 거기서 এখনও অনেক সম্ভাবনা আছে যা অর্জন করা হয়নি। এটা এখনও খুব নতুন, আমাদের শুধু পেইন পয়েন্টগুলো বের করে ফিক্স করতে হবে।

আজ আমাদের ব্লগ অডিয়েন্সের সাথে কথা বলার জন্য সময় দান করার জন্য আপনাকে ধন্যবাদ বেন। আমরা আপনার প্রতি কৃতজ্ঞ। আমাদের ব্লগ পাঠকরা, আপনি যদি বেনের কাজ সম্পর্কে আরও জানতে চান তবে বাইনারি মুন (Binary Moon)-এ যান। 

  1. ওয়ার্ডপ্রেসে XML-RPC নিষ্ক্রিয় করা: যা জানা দরকার

  2. সার্বিক ভালনারেবিলিটি স্ক্যানার দিয়ে আপনার ওয়ার্ডপ্রেস সাইট সুরক্ষিত করুন

  3. ওয়ার্ডপ্রেস ডেটাবেস ম্যালওয়্যারের জন্য স্ক্যান করুন এবং সাইট রক্ষা করুন

  4. ওয়ার্ডপ্রেস ডেটাবেস পরিষ্কার করে আপনার সাইট দ্রুত করুন: সম্পূর্ণ গাইড