কিভাবে স্কেচপ্যাড অনস্ক্রিন অঙ্কন, কনস্ট্রেইন্ট, ও সরাসরি ম্যানিপুলেশন প্রবর্তন করে—এসব ধারণা CAD, UI ডিজাইন টুল এবং আধুনিক ইন্টারফেসকে গড়ে তুলেছে।

স্কেচপ্যাড এমন একটি দুর্লভ প্রকল্প যার উদ্দেশ্য কম্পিউটারকে শুধু উন্নত করা ছিল না—এটি বদলে দিয়েছিল মানুষের ধারণা যে কম্পিউটারকে কী জন্য ব্যবহার করা যায়। এর আগে বেশিরভাগ ইন্টার্যাকশন মানে ছিল কমান্ড টাইপ করা এবং ফলাফলের জন্য অপেক্ষা করা। ১৯৬০-এর দশকের শুরুতে ইভান সাদারল্যান্ড যে স্কেচপ্যাড তৈরি করেছিলেন, তা একটি আলাদা পথ দেখিয়েছিল: আপনি আঁকতে, ইঙ্গিত করতে, এবং আকৃতি সরাতে পারতেন সরাসরি স্ক্রিনে।
“ইন্টার্যাকটিভ গ্রাফিক্স” মানে আপনি ডিসপ্লেতে ভিজ্যুয়াল উপাদান দেখতে পান এবং সেগুলো সরাসরি পরিবর্তন করতে পারেন, সিস্টেম সাথে সাথেই প্রতিক্রিয়া দেয়। টেক্সটে কোনো ড্রয়িং বর্ণনা করার বদলে ("A থেকে B পর্যন্ত লাইন তৈরি করুন"), আপনি নিজেরাই ড্রয়িংয়ে কাজ করেন: একটি পয়েন্ট নির্বাচন করুন, একটি লাইন ঘষে টানুন, একটি আকার পুনরায় সাইজ করুন, এবং সঙ্গে সঙ্গেই ফলাফল দেখুন।
এই পোস্টটি ব্যাখ্যা করে স্কেচপ্যাড কী ছিল, কেন এটি গুরুত্বপূর্ণ ছিল, এবং কিভাবে এর মূল ভাবনাগুলো বারবার পুনরাবৃত্তি হয়ে এসেছে—প্রথমে কম্পিউটার-সহায়িত ডিজাইনে (CAD), পরে গ্রাফিক্যাল ইউজার ইন্টারফেসে (GUI), এবং পরে আধুনিক UI ডিজাইন টুল ও ডিজাইন সিস্টেমে। আপনি দেখবেন কীভাবে ডাইরেক্ট ম্যানিপুলেশন, পুনর্ব্যবহারযোগ্য কম্পোনেন্ট, এবং কনস্ট্রেইন্ট-ভিত্তিক অঙ্কন আজকের অ্যাপগুলোতে নতুন নয়—তাদের গভীর শিকড় আছে।
স্কেচপ্যাড সঙ্গে সঙ্গেই আমাদের বর্তমান সফটওয়্যার তৈরি করেনি। আধুনিক CAD, GUI, এবং Figma বা Sketch-এর মতো টুলগুলো বহু দলের হাতে অনেক দশক ধরে গড়ে উঠেছে। কিন্তু স্কেচপ্যাড একটি গুরুত্বপূর্ণ শুরুর পয়েন্ট কারণ এটি প্রমাণ করেছিল: ভিজ্যুয়াল, ইন্টার্যাকটিভ কাজ স্ক্রিনে নির্ভুল, সংগঠিত এবং স্কেলেবল হতে পারে—শুধু একটি ডেমো নয়, বরং মানব–কম্পিউটার ইন্টারেকশন-এর একটি নতুন মডেল।
ইভান সাদারল্যান্ড কম্পিউটার গ্রাফিক্স ও মানব–কম্পিউটার ইন্টার্যাকশনের একজন প্রতিষ্ঠাসূচক ব্যক্তিত্ব—যিনি কম্পিউটারকে “টেক্সট দিয়ে প্রোগ্রাম করার যন্ত্র” থেকে “ভিজ্যুয়ালি ইন্টার্যাক্ট করার টুল” হিসেবে ভাবতে সহায়তা করেছেন। ১৯৩৮ সালে জন্ম নেওয়া সাদারল্যান্ড ইলেক্ট্রিক্যাল ইঞ্জিনিয়ার হিসাবে প্রশিক্ষিত এবং দ্রুতই এক সহজ কিন্তু মৌলিক প্রশ্নের দিকে গিয়েছিলেন: যদি কম্পিউটারের সঙ্গে কাজ কাগজ, ডায়াগ্রাম, এবং ভৌত বস্তু নিয়ে কাজ করার মতো মনে হত?
স্কেচপ্যাড সাদারল্যান্ডের MIT-তে পিএইচডি গবেষণার অংশ হিসেবে তৈরি হয়, MIT লিনকন ল্যাবের TX-2 কম্পিউটারে। TX-2 ঐ সময়ের জন্য ব্যতিক্রমী সক্ষম ছিল: এটি ইন্টার্যাকটিভ ডিসপ্লে এবং বিশেষ ইনপুট হার্ডওয়্যার সমর্থন করত, যা হাতে-কলমে পরীক্ষা-নিরীক্ষাকে সম্ভব করেছিল।
তৎকালীন কম্পিউটিং বড়জোর সংখ্যার ও টেক্সটের জন্য অপ্টিমাইজড ছিল, ভিজ্যুয়াল চিন্তার জন্য নয়। সাদারল্যান্ড চেয়েছিলেন কম্পিউটারকে চিত্রাঙ্কন, সম্পাদনা এবং ডায়াগ্রাম সূক্ষ্ম করা—এইসব ভিজ্যুয়াল কাজের জন্য ব্যবহারিক করা, যেখানে প্রতিটি কাজকে কোডে অনুবাদ করতে হবে না। আরও সহজভাবে বলতে গেলে, তিনি চান কম্পিউটার আকৃতি ও সম্পর্কগুলো সরাসরি উপস্থাপন করুক—যেমন একজন মানুষ স্কেচিং করার সময় ভাবেন।
স্কেচপ্যাডের কাজ স্কেচপ্যাডের বাইরে বিস্তৃত—কম্পিউটার গ্রাফিক্স, ইন্টার্যাকটিভ সিস্টেম, এবং প্রাথমিক ভার্চুয়াল রিয়ালিটি (হেড-মাউন্টেড ডিসপ্লে সহ) পর্যন্ত। তিনি তার কর্মজীবনে বড় স্বীকৃতি পেয়েছেন, যার মধ্যে ACM টুরিং অ্যাওয়ার্ডও আছে, এবং তাঁকে প্রায়ই এমন একজন পথপ্রদর্শক হিসেবে উল্লেখ করা হয় যিনি ইন্টার্যাকটিভ কম্পিউটিং কী হতে পারে তা সংজ্ঞায়িত করতে সাহায্য করেছেন।
স্কেচপ্যাডের আগে বেশিরভাগ মানুষ কম্পিউটার “ব্যবহার” করতেন এখনকার মতো নয়। আপনি বসে কোনো প্রোগ্রাম খুলতেন, তা দিয়ে খেলার বদলে কাজ প্রস্তুত করে কম্পিউটারে জমা দিতেন এবং ফলাফলের জন্য অপেক্ষা করতেন।
১৯৬০-এর দশকে ইন্টার্যাকশন মূলত টেক্সট-ভিত্তিক ও অপ্রতক্ষ ছিল। প্রোগ্রামগুলো প্রায়শই পাঞ্চড কার্ড বা কাগজ টেপে এন্টার করা হতো, বা টেলিটাইপ স্টাইল টার্মিনালে টাইপ করা হতো। অনেক সিস্টেম ব্যাচ মোডে চলত: আপনি একটি কার্ডের স্ট্যাক জমা দিতেন, কম্পিউটার জব কিউতে প্রক্রিয়া করত, এবং পরে আউটপুট দিত—কখনও মিনিট, কখনও ঘণ্টা পরে।
যদি কিছু ভুল হতো (টাইপো, কার্ড মিসিং, লজিক ত্রুটি), আপনি তা তৎক্ষণাৎ ঠিক করতে পারতেন না। রান শেষ হওয়ার পরে ত্রুটি দেখা যেত এবং আপনি ডেক revise করে আবার চেষ্টা করতেন। এই ধীর, থামা-চলা ছন্দ মানুষের মধ্যে কম্পিউটারের উদ্দেশ্য নিয়ে একটা ধারণা তৈরি করেছিল।
স্ক্রীন ছিল, কিন্তু তারা সেই প্রতিদিনের "ওয়ার্কস্পেস" হিসেবে ছিল না যেমন এখন। ডিসপ্লে হার্ডওয়্যার ব্যয়বহুল ও সীমিত ছিল, এবং সাধারণত ফলাফল দেখানোর জন্যই ব্যবহার করা হতো, গঠন করার জন্য নয়। যে ধারণা আপনি সরাসরি স্ক্রিনে আঁকতে পারবেন—তারপর তা নির্বাচন, সরানো, কপি বা সমন্বয় করতে পারবেন—তত্কালীন সাধারন প্রত্যাশার বাইরে ছিল।
“রিয়েল-টাইম” কোন মার্কেটিং টার্ম ছিল না; এটা একটি নতুন ধরনের অভিজ্ঞতাকে বোঝাত। এর মানে হলো কম্পিউটার আপনার কাজ করার সঙ্গে সঙ্গেই প্রতিক্রিয়া করবে, না যে আপনি আগে একটি জব জমা দেবেন। সেই তাত্ক্ষণিকতা মেশিনটিকে একটি দূরবর্তী ক্যালকুলেটর থেকে কাছাকাছি করে দিলো—এটি এমন এক সঙ্গী হয়ে উঠল যার সঙ্গে আপনি পরীক্ষা-নিরীক্ষা করতে, ত্রুটি তৎক্ষণাৎ ঠিক করতে, এবং মস্তিষ্কে থাকা ধারণা গড়তে পারতেন।
স্কেচপ্যাডের লক্ষ্য এই প্রেক্ষাপটে বেশি বোঝা যায়। এটি শুধু একটি চতুর ড্রয়িং প্রোগ্রাম ছিল না—এটি সেই যুগের মানব-কম্পিউটার কাজের ধরনকে চ্যালেঞ্জ করেছিল।
স্কেচপ্যাড ছিল একটি ইন্টার্যাকটিভ ড্রইং সিস্টেম যা একটি ডিসপ্লে সহ একটি কম্পিউটারে চলত। টাইপ করে কমান্ড দেওয়ার বদলে আপনি স্ক্রিনে সরাসরি আঁকতেন এবং সাথে সাথেই পরিবর্তন দেখতেন।
একটি প্রারম্ভিক ভেক্টর ড্রয়িং অ্যাপ এবং একটি CAD প্রোগ্রামের সংমিশ্রণ কল্পনা করুন। স্কেচপ্যাড আপনাকে লাইন, বৃত্ত, এবং আকৃতি তৈরি করার পর সেগুলোকে অবজেক্ট হিসেবে কাজ করতে দিতে চেয়েছিল—সেগুলো শুধুমাত্র পিক্সেল না, বরং সম্পাদনাযোগ্য উপাদান।
লুপটি সরল ছিল:
এটি এখন স্বাভাবিক শোনালেও, তখন এটি একটি বড় পরিবর্তন ছিল: কম্পিউটারকে আপনি ভিজ্যুয়ালি ইন্টার্যাকট করার মতো করে তুললেন, শুধু টেক্সটের মাধ্যমে নির্দেশ দেওয়ার বদলে।
স্কেচপ্যাডের ড্রয়িংগুলো ছিল এমন জ্যামিতিক উপাদানগুলো নিয়ে যা কম্পিউটার বোঝত: এন্ডপয়েন্ট, দৈর্ঘ্য, কোণ, আর্ক। সিস্টেম যখন প্রতিটি উপাদান কী তা জানে, তখন আপনি সম্পাদনা করলে সংযুক্ত অংশগুলোও আপডেট হতে পারে।
এই “ছবির পেছনের মডেল”টাই মূল ধারণা। এই কারণে স্কেচপ্যাডকে প্রায়ই আধুনিক CAD, ভেক্টর এডিটর, এবং অনেক UI ডিজাইন টুল-এর পূর্বসূরী বলা হয়: এটি একটি ড্রয়িংকে কাঠামোবদ্ধ ডেটা হিসেবে ব্যাবহার করত, কেবল দেখার মতো না।
স্কেচপ্যাডের সবচেয়ে দৃষ্টনীয় উন্নতি ছিল একটি নতুন উপায়ে কম্পিউটারের সঙ্গে কথা বলা—টাইপ করা কমান্ড নয়, বরং ব্যবহারকারীর স্ক্রিনের উপর সরাসরি পয়েন্ট করার ক্ষমতা। সাদারল্যান্ড মানুষকে লাইট পেন ব্যবহার করে স্ক্রিনে ঠিক যেখানে তিনি ইচ্ছা সেখানে নির্দেশ দেওয়ার সুযোগ দিয়েছিলেন।
লাইট পেন হল পেন-আকৃতির একটি পয়েন্টিং ডিভাইস যা CRT ডিসপ্লে-র বিরুদ্ধে ধরে ব্যবহার করা হতো। যখন স্ক্রিনের ইলেকট্রন বিম পেনের নীচে পড়ে, সিস্টেম সেই সময়ের ভিত্তিতে অন-স্ক্রিন অবস্থান গণনা করত। এটি মাউস সাধারণীকরণ হওয়ার আগে একটি প্রারম্ভিক "ক্যার্সর যা আপনি হাতে ধরতে পারেন"–এর মত কাজ করত।
লাইট পেন ব্যবহার করে স্কেচপ্যাড একটি ইন্টার্যাকশন স্টাইল উপস্থাপন করেছিল যা আজ মৌলিক মনে হয়:
এই সিলেকশন + ডাইরেক্ট ম্যানিপুলেশন যুগল কম্পিউটারে কাজ করার ধরণই বদলে দিলো: এটি মেশিনটিকে এমন এক জিনিস বানিয়ে দিলো যাতে আপনি "বর্ণনা করা নয়" বরং "সম্পাদনা করা" শুরু করেন।
আধুনিক ইনপুট পদ্ধতিগুলো একই মূল ধারণা অনুসরণ করে:
স্কেচপ্যাডের লাইট পেন প্রমাণ করেছিল যে দৃশ্যমান উপাদানে ইঙ্গিত করে কাজ করাটা প্রায়শই বিম্বিত কমান্ড দেওয়ার চেয়ে দ্রুত ও স্বাভাবিক।
যখন আপনি একটি লাইনে হাত লাগিয়ে সেটি স্থানান্তর করতে পারেন এবং স্থানে সংশোধন দেখতে পান, আপনি দ্রুত পুনরাবৃত্তি করতে পারেন: চেষ্টা করুন, দেখুন, টুইক করুন, পুনরাবৃত্তি করুন। সেই তাত্ক্ষণাৎ ফিডব্যাক ত্রুটি কমায়, শেখার বাঁক হ্রাস করে, এবং পরীক্ষা-নিরীক্ষাকে নিরাপদ মনে করায়—এসবই সফল ডিজাইন ও ড্রইং টুলের মুল ব্যবহারযোগ্য বৈশিষ্ট্য।
স্কেচপ্যাডের সবচেয়ে বিস্মিত করা ট্রিকটি ছিল না যে আপনি আঁকতে পারেন—এটি ছিল যে আপনার আঁকানো জিনিসগুলোর অর্থ থাকতে পারে। সমস্ত কিছু পিক্সেলের স্তরে দেখা না রেখে, স্কেচপ্যাড আপনাকে একটি ড্রয়িংয়ের অংশগুলোর মধ্যে সম্পর্ক বর্ণনা করতে দিত এবং কম্পিউটারকে সেই সম্পর্কগুলি সরবরাহ রাখার জন্য নির্দেশ করতে পারতেন।
একটি কনস্ট্রেইন্ট হলো জ্যামিতির সাথে লাগানো একটি নিয়ম।
এটি প্রতি বার কিছু পরিবর্তন হলে আবার হাতে করে আঁকার চেয়ে আলাদা। আপনি একবার অভিপ্রায় সেট করেন, তারপর মুক্তভাবে এডিট করতে পারেন।
কনস্ট্রেইন্টগুলো সম্পাদনাকে সেই রকম চেইন-প্রতিক্রিয়ায় পরিণত করে যা আপনি চান। একটি পয়েন্ট সরালে সংযুক্ত সবকিছু নিয়ম মেনে আপডেট হবে। এর মানে ম্যানুয়াল ফিক্স কম এবং দুর্ঘটনাজনিত বিকৃতি কম।
এটি ড্রয়িংকে বিকশিত করা সহজ করে তোলে: একটি কনস্ট্রেইন্ট করা আকার টেনে, অ্যালাইন করে বা পরিবর্তন করে রাখা যায় গুরুত্বপূর্ণ বৈশিষ্ট্য অক্ষুণ্ণ রেখেই—সমান্তরাল লাইন সমান্তরাল থাকে, সমান দৈর্ঘ্য সমান থাকে, কোণগুলো স্থিতিশীল থাকে।
স্কেচপ্যাড একটি বড় ধারণার ইঙ্গিত দিয়েছিল: গ্রাফিক্সগুলো সম্পর্ক সহ অবজেক্ট (পয়েন্ট, লাইন, আকৃতি) থেকে নির্মিত হতে পারে, শুধুই স্ক্রিনে চিহ্নের মত নয়। কম্পিউটার সেই সম্পর্কগুলো মৃদুভাবে রক্ষা করে—একনিষ্ঠ সহকারী হিসেবে।
আপনি একই মানসিকতাটি আধুনিক টুলগুলোতেও দেখতে পাবেন: CAD সিস্টেমগুলি প্যারামেট্রিক কনস্ট্রেইন্ট ব্যবহার করে, এবং UI ডিজাইন টুলগুলো লেআউট কনস্ট্রেইন্ট (পিনিং, অ্যালাইনমেন্ট, “স্পেসিং সমান রাখ”) ব্যবহার করে। বিভিন্ন ক্ষেত্রে একই মূল ধারণা: কিভাবে জিনিসগুলো আচরণ করবে তা বর্ণনা করুন, তারপর সিস্টেম গণিতটি সামলাক।
স্কেচপ্যাড কেবল লাইন দ্রুত আঁকার সুবিধা দেয়নি—এটি এমন একটি ধারণাও এনেছিল যা এখনও আধুনিক ডিজাইন কাজ চালিত করে: আপনাকে একই জিনিস বারবার আঁকতে হবে না।
স্কেচপ্যাডে আপনি একটি সিম্বল তৈরি করতে পারতেন—একটি মাস্টার সংজ্ঞা—এবং তারপর এর বহু ইনস্ট্যান্স ড্রয়িংয়ে স্থাপন করতে পারতেন। কাঁচা জ্যামিতি প্রতিবার কপি করার বদলে আপনি একটি রেসিপি পুনরায় ব্যবহার করছিলেন।
এর ফলে পুনরাবৃত্তি ঝঞ্ঝাট নয়, একটি সুবিধা হয়ে ওঠে। যদি আপনাকে দশটি একরকম ব্র্যাকেট, উইন্ডো বা সার্কিট উপাদান রাখতে হয়, আপনি দ্রুত ইনস্ট্যান্স গুলো রাখতে পারবেন এবং ড্রয়িং একরূপ থাকবে।
পরম্পরাগত কপি করা ডুপ্লিকেট তৈরি করে যা সময়ের সঙ্গে ভিন্ন হয়ে পড়ে: আপনি একটিকে এডিট করেন, বাকিগুলো ভুলে যান, এবং ড্রয়িং অনিয়মিত হয়ে যায়। স্কেচপ্যাড একটি উন্নত পন্থার দিকে ঠেলে দেয়: একই কম্পোনেন্ট পুনরায় ব্যবহার করুন যাতে পরিবর্তনগুলো সমন্বিত থাকে।
একটি ব্যবহারিক উদাহরণ:
যদি প্রযুক্তি আজকের টুলগুলোর মত না জুড়ে থাকে তবুও মূল ওয়ার্কফ্লো চেনা যায়: একক সোর্স অব ট্রুথ, নিরাপদভাবে পুনরায় ব্যবহার।
যদি আপনি আধুনিক ডিজাইন সফটওয়্যার ব্যবহার করে থাকেন, আপনি স্কেচপ্যাডের উত্তরসূরিদের দেখেছেন:
এই কারণে স্কেচপ্যাডকে কেবল একটি পুরনো ড্রয়িং প্রোগ্রাম মনে না করে বরং “কম্পোনেন্ট-ভিত্তিক ডিজাইন”-এর প্রারম্ভিক মডেল বলা যায়—দৃশ্যগত কাজকে স্কেলে নেওয়ার উপায় যা সঙ্গততা বজায় রাখে।
স্কেচপ্যাডের সবচেয়ে গুরুত্বপূর্ণ পরিবর্তনটি নতুন কোনো শেইপ ছিল না বা দ্রুত মেশিন ছিল না—এটি কম্পিউটার ব্যবহার করার একটি নতুন উপায় ছিল। "A থেকে B পর্যন্ত লাইন আঁকো" টাইপ করার বদলে আপনি লাইনটিকে তুলে ধরে সরাসরি স্ক্রিনেই পরিবর্তন করতে পারতেন।
ডাইরেক্ট ম্যানিপুলেশন সহজ: আপনি অবজেক্টের উপর কাজ করেন, অবজেক্টের বর্ণনা নয়।
স্কেচপ্যাডে ড্রয়িংটি আলাদা ফলাফল হয়ে পরে না—ড্রয়িংই ইন্টারফেস ছিল। আপনি যদি চান একটি লাইন সরাতে, আপনি সেই লাইনটি নির্বাচন করে সরান। যদি কোন কর্নার পরিবর্তন করতে চান, কর্নারটিকে এডজাস্ট করুন।
সমানভাবে বৈপ্লবিক ছিল প্রতিক্রিয়ার গতি। স্কেচপ্যাড আপনি যা করছেন তা সঙ্গেই পরিবর্তন দেখাত—আপনি কাজ করে শেষ করার পরে নয়।
এই তাৎক্ষণিক ফিডব্যাক একটি কড়াকড়ি লুপ তৈরি করে:
এটি সফটওয়্যারকে এমন কিছুতে রূপান্তর করে যা আপনি পরীক্ষা ও আকার দিতে পারেন, কেবল পরিচালনা করতে নয়।
অনেক দৈনন্দিন UI আচরণ এই ইন্টার্যাকশন শৈলীর উত্তরসূরী:
এখনও যখন আমরা মেনু বা কি-বোর্ড শর্টকাট ব্যবহার করি, আমরা আশা করি অবজেক্ট কেন্দ্রীয় থাকবে: সেটি নির্বাচন করুন, তাতে কাজ করুন, এবং সঙ্গে সঙ্গেই আপডেট দেখুন।
স্কেচপ্যাড এমন একটি মানদণ্ড স্থাপন করতে সাহায্য করেছিল যা ব্যবহারকারীরা এখন ধরে নেন: সফটওয়্যারকে ইন্টার্যাকটিভ, ভিজ্যুয়াল, এবং সাড়া দেয়ার মতো হওয়া উচিত। যখন কোনো অ্যাপ আপনাকে ফর্ম ভরাট করে “Apply” চাপতে বলছে এবং তারপর ফলাফল দেখাচ্ছে, তখন সেটি ডেটা বা ফিচার অনুপস্থিতির কারণে পুরনো মনে হয় না—বরং প্রতিক্রিয়া লুপটা ভেঙে পড়ায়।
স্কেচপ্যাড আধুনিক অর্থে CAD ছিল না—তাতে বিলস অফ ম্যাটেরিয়াল নেই, মেশিনিং টুলপাথ নেই, বিশাল পার্ট লাইব্রেরি নেই। কিন্তু এটি একটি গুরুত্বপূর্ণ পরিবর্তন প্রদর্শন করেছিল: টেকনিক্যাল ড্রয়িং এমন কিছু হতে পারে যা আপনি কম্পিউটারের সাথে করে থাকেন, কেবল কম্পিউটারে জমা দিয়ে ফলাফলের জন্য অপেক্ষা করা নয়।
ইঞ্জিনিয়ারিং ডিজাইন ইটারেটিভ। আপনি একটি ডাইমেনশন চেষ্টা করেন, দেখেন এটা ক্লিয়ারেন্সে কিভাবে প্রভাব ফেলছে, বদলান এবং আবার পরীক্ষা করেন। যদি প্রতিটি সমাহার পুনরায় দীর্ঘ তালিকার কোঅর্ডিনেট টাইপ করা নিয়ে বা অফলাইন প্লটের জন্য অপেক্ষা করে হয়, টুলটি ওয়ার্কফ্লো-কে বাধা দেয়।
স্কেচপ্যাড দেখিয়েছিল যে নির্ভুল কাজ ডাইরেক্ট, ভিজ্যুয়াল ইন্টার্যাকশনের দ্বারা সুবিধা পায়: আপনি একটি লাইনে ইঙ্গিত করে সেটি নির্বাচন করতে পারেন এবং কাজ করে খণ্ডক্ষেত্রে ফলাফল সঙ্গে সঙ্গেই দেখতে পান। সেই সংক্ষিপ্ত লুপই CAD-কে প্রকৃত ডিজাইনের অন্বেষণের জন্য ব্যবহারযোগ্য করে তোলে।
কয়েকটি স্কেচপ্যাড ধারণা CAD-ব্যবহারকারীদের এখন পরিচিত কথাগুলোর সাথে মেলে:
সবচেয়ে নিরাপদভাবে বলা যায় স্কেচপ্যাড ইন্টার্যাকটিভ, কনস্ট্রেইন্ট-সচেতন গ্রাফিক্সের ধারণাকে প্রমাণ করেছে। কিছু পরে সিস্টেম সরাসরি অনুপ্রাণিত হয়েছিল; অন্যরা হার্ডওয়্যার ও গবেষণার পরিমাণ বাড়ার সঙ্গে মিলেই এ রকম সমাধান পেয়েছে। যাই হোক, স্কেচপ্যাড একটি জোরালো মামলা তুললো যে কম্পিউটার ড্রাফটিং ও ডিজাইনের দৈনন্দিন প্রক্রিয়াগুলোকে সমর্থন করতে পারে—শুধু ফলাফল গণনা করে দেখানোর চেয়ে বেশি।
স্কেচপ্যাড আধুনিক ডেস্কটপের মত মনে না হলেও এটি একটি গুরুত্বপূর্ণ পয়েন্ট প্রমাণ করেছিল: মানুষ ছবির উপর ইঙ্গিত করে কম্পিউটারের সঙ্গে কথা বলতে পারে, কেবল টাইপ করে নয়। যখন সেই ধারণা গৃহীত হয়ে গেলো, বাকিরা "দৈনন্দিন" ইন্টারফেসের অংশগুলোকে অর্থপূর্ন করে তুলল—উইন্ডো ধরতে পারা, অবজেক্ট নির্বাচন করা, এবং কর্মগুলো দেখতে পাওয়া।
আদিম কম্পিউটিং প্রায়ই সঠিক কমান্ড শব্দভাণ্ডার ও ফরম্যাট মনে রাখার ওপর নির্ভর করত, তারপর ফলাফল পেতে অপেক্ষা করতে হতো। ইন্টার্যাকটিভ গ্রাফিক্স সেই অভিজ্ঞতাকে উল্টে দিল। সঠিক সিনট্যাক্স মনে রাখার পরিবর্তে আপনি স্ক্রিনে যা দেখছেন তা চিনে নিয়ে কাজ করতে পারেন। এই পরিবর্তন—রিকল থেকে রিকগনিশন—GUI-কে অধিকতর অ্যাক্সেসযোগ্য করে তুলেছে।
স্কেচপ্যাডের লাইট পেন একটি প্রারম্ভিক পয়েন্টিং ডিভাইস ছিল: কিছুর দিকে aim করুন, সেটি নির্বাচন করুন, সরান। পরে সিস্টেমগুলো পেনের জায়গায় মাউস, ট্র্যাকবল, এবং টাচপ্যাড নিয়ে এল—কিন্তু একই মেন্টাল মডেল রাখল।
উইন্ডোড ইন্টারফেসগুলো সরাসরি hiervan উপকার পায়: যখন একাধিক জিনিস একসাথে দৃশ্যমান থাকে, পয়েন্ট করা ও নির্বাচন করাই নির্ধারণ করে আপনি কোনটি বোঝাতে চান। যদিও আপনার কম্পিউটার CAD-ধাঁচের ড্রয়িং না দেখায়, তবুও এটি অন-স্ক্রিন অবজেক্টে পূর্ণ—যেগুলো আপনি মনিপুলেট করেন।
অনেক প্রচলিত UI প্যাটার্ন একই ইন্টার্যাকশন লুপের প্রতিফলন:
যখন ইন্টার্যাকটিভ গ্রাফিক্স ছড়িয়ে পড়ল, গবেষক ও প্রোডাক্ট টিমরা মূল্যায়ন করতে লাগল কী কাজ মানুষের জন্য সঠিক। সেই প্রচেষ্টা শেষ পর্যন্ত মানব–কম্পিউটার ইন্টার্যাকশন (HCI) নামে একটি ক্ষেত্র গড়ে তুলল—যা মানুষের ও কম্পিউটারের মাঝের যোগাযোগ ডিজাইন, টেস্ট, ও উন্নত করার উপর ফোকাস করে।
যদি আপনি কখনও Figma-এ একটি আয়তক্ষেত্ৰ টেনে এনেছেন, Sketch-এ একটি বাটন রিসাইজ করেছেন, বা কোনো ডিজাইন টুলে Auto Layout সামঞ্জস্য করেছেন, আপনি স্কেচপ্যাডের বেশ কিছু ধারণাই ব্যবহার করছেন: সরাসরি আঁকুন, সম্পর্ক বজায় রাখুন, এবং প্রতিবারই সবকিছু নতুন করে না আঁকতে পুনরায় ব্যবহার করুন।
আধুনিক UI টুলগুলো আকারগুলোকে অবজেক্ট হিসেবে ধরে, সেগুলো নির্বাচন, সরানো, এবং ইন-প্লেস এডিট করা যায়—একেবারে স্কেচপ্যাড যে মানসিক মডেল জনপ্রিয় করে তুলেছিল তা। আপনি একটি বৃত্ত “বর্ণনা” করেন না; আপনি এটিকে ধরে সমন্বয় করেন। তাৎক্ষণিক ভিজ্যুয়াল ফিডব্যাক ডিজাইনকে স্ক্রিনের সঙ্গে এক ধরনের সংলাপে পরিণত করে: টুইক করুন, দেখুন, আবার টুইক করুন।
স্কেচপ্যাডের কনস্ট্রেইন্ট-ভিত্তিক অঙ্কন রেস্পন্সিভ UI আচরণের সাথে সুন্দরভাবে মেলে:
ডিজাইন সিস্টেমে কনস্ট্রেইন্ট মানে একটি মকআপ নয়—বরং একটি কম্পোনেন্ট যা বাস্তব কন্টেন্টে টেকে (দীর্ঘ অনুবাদ, ডাইনামিক ডেটা, বিভিন্ন স্ক্রিন সাইজ)।
স্কেচপ্যাডের “মাস্টার + ইনস্ট্যান্স” ধারণা আজকের কম্পোনেন্ট, ভ্যারিয়ান্ট, এবং টোকেন হিসেবে দেখা যায়। একটি সোর্স অফ ট্রুথ থাকার ফলে টিমগুলো টাইপোগ্রাফি, প্যাডিং, বা স্টেট একবার আপডেট করে সেই পরিবর্তনগুলো স্ক্রীন জুড়ে ছড়িয়ে দিতে পারে। এতে ড্রিফ্ট কমে, রিভিউ দ্রুত হয়, এবং হ্যান্ডঅফ খানিকটা নিস্কণ্টক হয়।
একটা আকর্ষণীয় মিল নতুন “vibe-coding” ওয়ার্কফ্লোয় দেখা যায়। Koder.ai-এর মত প্ল্যাটফর্মগুলো চ্যাটের মাধ্যমে ওয়েব, ব্যাকএন্ড বা মোবাইল অ্যাপ তৈরি করতে দেয়, তবে সেরা অভিজ্ঞতাও এখনও স্কেচপ্যাড-সদৃশ নীতিগুলোর ওপর নির্ভর করে: দ্রুত ফিডব্যাক, দেখা-ক্ষেত্রের পিছনে পরিষ্কার মডেল, এবং পুনরায় ব্যবহারযোগ্য বিল্ডিং ব্লক।
উদাহরণস্বরূপ, যখন Koder.ai একটি React UI (বা Flutter স্ক্রিন) জেনারেট করে, প্রকৃত জয় মাত্র গতি নয়—এটি যে আপনি একটি ঘন লুপে পুনরাবৃত্তি করতে পারেন, কম্পোনেন্টগুলো একরূপ রাখতে পারেন, এবং পরিবর্তনগুলো সামনের দিকে (বা ফিরে) রোল করতে পারেন তা। একভাবে বলা যায়, এটি স্কেচপ্যাড যে পরিবর্তনটি আনার প্রচেষ্টা করেছিল ঠিক সেটিই: সফটওয়্যারকে এক-দিক থেকে “সাবমিট করে অপেক্ষা” করার প্রক্রিয়া হিসেবে না দেখে একটি ইন্টার্যাকটিভ ওয়ার্কস্পেস হিসেবে দেখা।
এই ধারণাগুলো এখনও ওয়ার্কফ্লো উন্নত করে কারণ এগুলো ম্যানুয়াল কাজ ও ত্রুটি কমায়: লেআউট অভিপ্রায় (অ্যালাইনমেন্ট, স্পেসিং, আচরণ) ডিজাইনে এনকোড করুন, যাতে সিস্টেম বড় হওয়ার সঙ্গে সংহত থাকে।
স্কেচপ্যাডকে একটি একক “ফিচার” বলে মনে করা হয় না বরং সেই ধারণাগুলোর সেট হিসেবে স্মরণ করা উচিত যা নীরবভাবে ডিফল্ট হয়ে উঠেছে।
প্রথমত, ইন্টার্যাকটিভ গ্রাফিক্স: কম্পিউটার কেবল ফলাফল ছাপায় না—এটি এমন একটি সারফেস যেখানে আপনি কাজ করতে পারেন।
দ্বিতীয়ত, কনস্ট্রেইন্ট ও সম্পর্ক: সবকিছু আবার আঁকার বদলে আপনি কিভাবে জিনিসগুলো সংযুক্ত থাকবে তা বর্ণনা করেন (সমান্তরাল লাইন, সমান দৈর্ঘ্য, আলাইন করা পয়েন্ট)। সিস্টেম আপনার অভিপ্রায় বজায় রাখতে সাহায্য করে যতক্ষণ আপনি এডিট করেন।
তৃতীয়ত, ডাইরেক্ট ম্যানিপুলেশন: আপনি অবজেক্টের উপর কাজ করেন—নির্বাচন করুন, সরান, রিসেপ—এবং সঙ্গে সঙ্গেই পরিবর্তন দেখুন।
চতুর্থত, পুনঃব্যবহারযোগ্য বিল্ডিং ব্লক: একবার একটি কম্পোনেন্ট সংজ্ঞায়িত করে পুনরায় ব্যবহার করা আধুনিক কম্পোনেন্ট, সিম্বল, ও ডিজাইন সিস্টেমের সরাসরি পথ।
যদি আপনি আধুনিক বিল্ড টুল মূল্যায়ন করুন, এসবেই খুঁজুন: দৃশ্যমান মডেল, দ্রুত পুনরাবৃত্তি, এবং একটি সহজ রোলব্যাক যখন কোনো পরীক্ষা ব্যর্থ হয়। (উদাহরণস্বরূপ, Koder.ai-এর পরিকল্পনা মোড এবং স্ন্যাপশট/রোলব্যাক বাস্তব উপায়ে সেই “চেষ্টা করার জন্য নিরাপদ” লুপটি সংরক্ষণ করে যখন আপনি একটি অ্যাপ জেনারেট ও পরিমার্জন করছেন।)
প্রথমত মিউজিয়াম বা বিশ্ববিদ্যালয়ের ডেমো খুঁজুন; লাইট পেন সেশন দেখা ধারণাগুলো মনে করিয়ে দেবে।
ডকুমেন্টারি ও ইন্টারভিউ দেখুন যা প্রাথমিক মানব–কম্পিউটার ইন্টার্যাকশন সম্পর্কে—কিভাবে এই ধারণাগুলো হাতে-কলমে পরীক্ষা-নিরীক্ষা থেকে আবিষ্কৃত হয় তা শোনা যায়।
যদি আপনি প্রাথমিক উৎস পড়তে চান, সার্চ করুন ইভান সাদারল্যান্ডের মূল Sketchpad থিসিস এবং সংশ্লিষ্ট টেকনিক্যাল রিপোর্ট—এসব মূল কাজের জন্য অস্বাভাবিকভাবে পাঠযোগ্য।
আরও ইতিহাসধর্মী পোস্ট পড়তে চাইলে, ব্রাউজ করুন /blog।
স্কেচপ্যাড ছিল ১৯৬০-এর দশকে ইভান সাদারল্যান্ডের তৈরি একটি প্রারম্ভিক ইন্টার্যাকটিভ ড্রইং সিস্টেম। টেক্সটে ড্রয়িং বর্ণনা করার বদলে আপনি অনস্ক্রিন সরাসরি আঁকতে ও সম্পাদনা করতে পারতেন—লাইন/বৃত্তগুলোকে অবজেক্ট হিসেবে নির্বাচন করে সঙ্গে সঙ্গেই ভিজ্যুয়াল প্রতিক্রিয়া দেখে পরিবর্তন করা যেত।
কারণ এটি প্রমাণ করেছিল যে কম্পিউটারগুলো শুধু ব্যাচ-হিসাবে হিসাব করার যন্ত্র নয় বরং ইন্টার্যাকটিভ ভিজ্যুয়াল ওয়ার্কস্পেস হতে পারে। এর মূল ধারণাগুলো—ডাইরেক্ট ম্যানিপুলেশন, রিয়েল-টাইম ফিডব্যাক, কনস্ট্রেইন্ট-ভিত্তিক জ্যামিতি, এবং পুনঃব্যবহারযোগ্য সিম্বল/ইনস্ট্যান্স—পরবর্তীতে CAD, GUI এবং আধুনিক ডিজাইন টুলগুলোর মধ্যে দেখা যায়।
ইন্টার্যাকটিভ গ্রাফিক্স মানে হলো আপনি ভিজ্যুয়াল উপাদানগুলো দেখতে পান এবং তাৎক্ষণিকভাবে সেগুলো পরিবর্তন করতে পারেন।
প্রায়োগিক লক্ষণগুলো যে আপনি ইন্টার্যাকটিভ গ্রাফিক্স ওয়ার্কফ্লো এ আছেন:
লাইট পেন ছিল CRT ডিসপ্লের উপর ব্যবহৃত পেন-আকৃতির পয়েন্টিং ডিভাইস। স্ক্রীন রিফ্রেশের সময় ইলেকট্রন বিম যখন পেনের নিচে চলে যেত, সিস্টেম সময় নির্ণয় করে আপনি কোথায় ইঙ্গিত করছেন তা নির্ধারণ করত।
স্কেচপ্যাডে এটি যা সক্ষম করেছিল:
কনস্ট্রেইন্ট হল জ্যামিতির উপর আরোপ করা একটি নিয়ম—যেমন “এই লাইনটি অনুভূম বা সমান্তরাল থাকবে” বা “এই পাশে সমান দৈর্ঘ্য থাকবে।” আপনি যখন একটি অংশ সম্পাদনা করবেন, সিস্টেম সংযুক্ত অংশগুলোকে সেই নিয়ম মেনে চলার জন্য স্বয়ংক্রিয়ভাবে সামঞ্জস্য করে।
এটি ব্যবহারে সুবিধা:
স্কেচপ্যাডে ড্রয়িংগুলো ছিল গঠনগত জ্যামিতি (পয়েন্ট, লাইন, আর্ক, সম্পর্ক) হিসেবে সংরক্ষিত, সমতল ছবি হিসেবে নয়। ফলে কম্পিউটার প্রতিটি উপাদান কী তা “জানত” এবং এ কারণে আপনি এন্ডপয়েন্ট সরানো, সংযোগ বজায় রাখা, কনস্ট্রেইন্ট প্রয়োগ ইত্যাদি করতে পারতেন পুনরায় সবকিছু আঁকতে না গিয়ে।
স্কেচপ্যাড দেখিয়েছিল যে টেকনিক্যাল ড্রয়িং—ঠিক মাপ ও সম্পর্কের সঙ্গে কাজ—কম্পিউটারের সাহায্যে ইন্টার্যাকটিভভাবে করা যায়। এটি দেখিয়েছে যে একটি ঘনসম্পর্কিত লুপ (সম্পাদনা → দেখা → খোদাই) হচ্ছে প্রকৌশল কাজের জন্য ব্যবহারিক এবং কার্যকর।
স্কেচপ্যাড যে ধারণাগুলোকে বৈধতা দিয়েছিল তাহলো:
স্কেচপ্যাড প্রমাণ করেছিল মানুষ কম্পিউটারের সঙ্গে পয়েন্ট করে অন-স্ক্রিন অবজেক্ট নিয়ন্ত্রণ করে কথা বলতে পারে—টাইপ করে আদেশ দেওয়ার বদলে।
এই মানসিক মডেলটি পরে GUI-র জনপ্রিয় পাঠে মিলিত হয়ে সাধারণ UI প্যাটার্নগুলোকে সহজ করে তুললো:
স্কেচপ্যাডে আপনি একটি সিম্বল (মাস্টার ডেফিনিশন) তৈরি করে তার বহু ইনস্ট্যান্স প্লেস করতে পারতেন—একবার সংজ্ঞায়িত করে বারবার ব্যবহার করা।
এটি আজকের রূপে দেখা যায়:
মূল সুবিধা: একবার পরিবর্তন করলে সব ইনস্ট্যান্স আপডেট হয়—হাতায়ত্বপূর্ণ কপি থেকে সঞ্চিত অসঙ্গতি কমে।
কতগুলি ব্যবহারিক পাঠ:
যদি আপনি আধুনিক বিল্ড টুল মূল্যায়ন করেন, তাহলে দেখুন: একটি দৃশ্যমান মডেল, দ্রুত পুনরাবৃত্তি, এবং সহজ রোলব্যাক সমর্থন আছে কি না।