কোডক্যানিয়নের জন্য এন্ড্রয়েড অ্যাপ ডেভেলপমেন্ট

কোডক্যানিয়নের জন্য এন্ড্রয়েড অ্যাপ ডেভেলপমেন্ট
এন্ড্রয়েড জগতে আমি নতুন, বেশ কিছু বছর থেকে পিএইচপি নিয়ে কাজ করি। মাত্র ২ বছর আগে গুরু “হাসান আবদুল্লাহ” ভাইয়ার হাত ধরে এই সেক্টরে পথচলার শুরু। যেহেতু লেখালেখির মোটেও অভ্যাস নাই সেহেতু লেখাতে অনেক ভুলভ্রান্তি থাকাটাই স্বাভাবিক। ভুলভ্রান্তিগুলা ক্ষমাসুলভ দৃষ্টিতে দেখার অনুরোধ রইল। কারও কোন প্রশ্ন থাকলে ইনবক্স না করে কমেন্ট করার অনুরোধ রইল।
আমি এখানে আমার কোডক্যানিয়নে অ্যান্ড্রয়েড অ্যাপ বানানোর প্লান থেকে শুরু করে অ্যাপ আপলোড পজন্ত যা যা ফলো করি তার আলোকে কিছু এক্সপেরিয়েন্স শেয়ার করব এবং চেষ্টা করব কিছু পরামর্শ দেবার। এতে করে যারা সত্যিকারার্থেই কোডক্যানিয়নের জন্য অ্যান্ড্রয়েড অ্যাপ ডেভেলপ করতে চাচ্ছেন আশা করি তারা হয়ত কিছুটা উপকৃত হবেন। শুরু করা যাক-
শুরুর কথা
যেখানে বর্তমানে থিমফরেস্টে ১৫ হাজার+ ওয়ার্ডপ্রেস থিম আছে সেখানে কোডক্যানিয়নে মাত্র ৫ হাজার+ এন্ড্রয়েড অ্যাপ আছে, এই জন্য কোডক্যানিয়নের জন্য অ্যাপ ডেভেলপমেন্ট করে ক্যারিয়ার গঠন তুলনামূলক সহজ, বিগিনিয়ার লেভেলে কম্পিটিশন কম, মার্কেটে ভালো অ্যাপের চাহিদা অনেক বেশি। আমি ২০১৮ সালের প্রথম দিকে একটা ছোট অ্যান্ড্রয়েড কুইজ অ্যাপ বানিয়েছিলাম, আল্লাহর রহমতে আজ পর্যন্ত অনেকবারই সেল হয়েছে অ্যাপটি(কোন মার্কেটিং করা হয় নাই) + পাশাপাশি বেশ কয়েকজনের জন্য কাস্টটোমাইযেসন করে আলাদা করে চার্জ নেওয়া হয়েছে। যেহেতু অ্যাপটা একটা ছোট কুইজ অ্যাপ ছিল, এই জন্য ভাবি নাই এই একটা ছোট অ্যাপ এত বেশি সেল হবে J
আমি অ্যাপটা ডেভেলপের সময় যা যা ফলো করেছিলাম তাই নিয়েই লিখব।
কাজের সুবিধারতে কিছু স্টেপ ফলো করে অ্যাপ ডেভেলপ করি সবসময়-
১। মার্কেট রিসার্চ
২। প্রি-ডিজাইন
৩। ডিজাইন
৪। ডেভেলপমেন্ট
৫। সাপোর্ট
বিঃ দঃ নিচে আমি ইউজার বলতে যারা অ্যাপ পারচেজ করছে তাদের বুঝাইছি।
মার্কেট রিসার্চ
যেহেতু অ্যাপটা যখন ডেভেলপ করি তখন আমার অ্যান্ড্রয়েডে দক্ষতা খুব বেশি ছিল না তাই ভাবলাম একটা কুইজ অ্যাপ বানাই। এই জন্য প্রথমে মার্কেট রিসার্চ করা শুরু করলাম, কোডক্যানিয়নে অ্যান্ড্রয়েড সেকশনে যেসব অ্যাপ আছে সেইগুলা দেখা শুরু করলাম। অ্যাপগুলা কেমন সেল হয়, কি কি ফিচার অফার করছে, কেমন দাম, অ্যাপ গুলাতে ব্যাবহারকারিদের কমেন্ট এইগুলা নোট করলাম। এরপর ওই সময়ের বেস্ট সেলিং ১০টা অ্যান্ড্রয়েড কুইজ অ্যাপের সব ফিচার নোট করলাম, দেখলাম কেউ ফিচার Aদিচ্ছে, কেউ B, কেউ C, কেউ A এবং B একসাথে দিচ্ছে। আমি প্লান করলাম সবগুলা অ্যাপে আলাদা আলাদাভাবে যে যে সুবিধা দিচ্ছে তার সবগুলাই একসাথে আমি আমার অ্যাপে দিব, তাহলে আমার অ্যাপটা তাদের থেকে স্ট্রং হবে। নোট করা শেষে দেখলাম মোটামুটি অ্যাপে অনেক ফিচার অ্যাড করতে হবে। আমার বরাবর চিন্তা ছিল ইউনিক আইডিয়া নিয়ে কাজ না করে এমন প্রোডাক্ট নিয়ে কাজ করব যেইটা মার্কেটে আছে কিন্তু আমি আমার প্রোডাক্টে তার থেকে বেশি সুবিধা দিব যাতে মানুষজন অন্য প্রোডাক্ট বাদ দিয়ে আমার প্রোডাক্ট কিনে। অনেক টপ সেলিং কুইজ অ্যাপ দেখলাম রেগুলার সেল হচ্ছে কিন্তু কোন আথর হয় আপডেট দিচ্ছে না বা কেউ সাপোর্ট ঠিকমতো দিচ্ছে না কিংবা কারো অ্যাপের ডিজাইন আউটডেটেড। আমি তখনই প্লান করলাম আমি এমন একটি অ্যাপ বানাবো যে অ্যাপটি এই সকল অসম্পূর্ণতা দুর করবে।
প্রি-ডিজাইন
সবকিছু যখন ফাইনাল তখন শুরু করে দিলাম প্রোটোটাইপ বানানর কাজ। প্রথমে দর্শনদারী, পরে গুণবিচারী। তাই অ্যাপের ডিজাইন অবশ্যই ভালো হতে হবে। ইউজার ইন্টারফেস ভালো হলে ইউজারের অভিজ্ঞতা ভালো হবে। সুন্দর ডিজাইন প্রথম দর্শনেই ভালো ইম্প্রেসন তৈরি করে। আর যেহেতু কোডক্যানিয়নের জন্য অ্যাপ বানানো, সো অ্যাপের ডিজাইন ইউনিক এবং সুন্দর হতে হবে। কাগজ-কলম নিয়ে বসে পরলাম, বেশ কিছু স্প্লাশ স্ক্রীন, হোম স্ক্রীন এবং রেজাল্ট স্ক্রীন আঁকাআঁকির চেষ্টা করলাম, ইন্টারনেট থেকে কিছু ডিজাইন ফলো করে আবারও কিছু আঁকাআঁকি। যখন একটা সন্তুষ্টজনক পর্যায়ে প্রোটোটাইপগুলা চলে আসে তখন ডিজাইন করা শুরু করি। অনলাইন থেকে ডিজাইন দেখে ইন্সপারেশন নিতে পারেন।
ডিজাইন
প্রোটোটাইপ ফাইনাল হয়ে গেলে এক্সএমএল এ ডিজাইন করা শুরু করি। আমার পারসনালি মনে হয় এন্ড্রয়েডে সব থেকে ভেজাল্লা জিনিশ হল ডিজাইন করা, বিশেষ করে কমপ্লেক্স ডিজাইন হলে তো কথাই নেই। প্রথমে অ্যাপের জন্য কিছু বেজ কালার ধরে কালার প্লেট জেনেরেট করে নেই(নিচে লিঙ্ক দেওয়া আছে)। Pexels থেকে অ্যাপের জন্য কিছু ইমেজ ডাউনলোড করে নেই, বিশেষ করে স্প্লাশ স্ক্রীনের জন্য অ্যাপের সাথে সদৃশ ইমেজ ডাউনলোড করে নেই। আইকনের জন্য এন্ড্রয়েডের ভেক্টর লাইব্রেরি কিংবা Icon8 বা সিমিলার ফ্রি আইকন সাইট ব্যাবহার করি। ডিজাইনের জন্য চেষ্টা করি ConstraintLayout বেশি ব্যাবহার করার,তাহলে রেস্পন্সিভ ইস্যু নিয়ে বেশি চিন্তা করতে হয় না। ডিজাইন টেস্ট আসে ডিজাইন সেন্স থেকে। এর জন্য ইউআই,ইউএক্স, কালার, টাইপোগ্রাফি নিয়ে স্টাডি করলে ডিজাইন সেন্স বাড়বে।
ডেভেলপমেন্ট
ডিজাইন সম্পন্ন হলে ডেভেলপমেন্ট শুরু করি। চেষ্টা করি অ্যান্ড্রয়েডের বেস্ট স্ট্যান্ডার্ড ও প্রাকটিস ফলো করতে। থার্ড-পার্টি লাইব্রেরি ব্যাবহার করার আগে লাস্ট আপডেট, কম্পাটাবিলিটি,গিটহাব স্টার ইত্যাদি দেখে নেই। কোড ক্লিন রাখার চেষ্টা করি এবং মিনিংফুল কমেন্ট অ্যাড করি। সিমিলার ফাইলগুলাকে প্যাকেজ আকারে রাখি, একটা কনফিগ জাভা ফাইল রাখি যাতে ইউজাররা সহজেই এক স্থান থেকে সকল কনফিগারেশন পরিবর্তন করতে পারে। ডেভেলপমেন্ট নিয়ে খুব বেশি কিছু বলার নেই যেহেতু আমাদের সবার কোড কম-বেশি এক J সমস্যা সেম কিন্তু সমাধান করার পদ্ধতি একটু-আকটু আলাদা।
সাপোর্ট
অ্যাপ রিলিজ করার পর আসে সাপোর্টের বিষয় গুলা। নরমালি কোডক্যানিয়নে সাপোর্ট টাইম উল্লেখ করে দেওয়া যায়। যেমন আপনি যদি সাপোর্ট টাইম ১০ দিন দিয়ে রাখেন তার মানে আপনি উয়িকএন্ড বাদে ১০ দিনের ভেতর সাপোর্ট প্রভাইড করবেন। অ্যাপ সেলের ক্ষেত্রে সাপোর্ট একটা ভাইটাল রোল প্লে করে। অধিকাংশ মানুষ প্রোডাক্ট কেনার আগে চেক করে অ্যাপে ইউজারের ফিডব্যাক এবং রেগুলার সাপোর্ট। যখন দেখে আথর তার প্রোডাক্টে ইউজারদের কমেন্টে রেগুলার এবং টাইমলি রেসপন্স প্রদান করছে তখন তারা প্রোডাক্টটা কিনতে আশ্বস্ত হয়। সাপোর্ট ইউজারদের কমেন্টের রিপ্লাই দিয়ে দেওয়া যায়,ইমেইল ব্যাবহার করা বেটার, কাস্টটোমাইযেসনের জন্য স্ক্যইপ ব্যাবহার করা ভালো। সবাইকে স্ক্যইপে অ্যাড না করাই ভালো, দেখা যাবে কারনে অকারনে বিরক্ত করবে।
পরিশেষে কোডক্যানিয়ন নিয়ে কিছু কথা
কোডক্যানিয়নে প্রোডাক্ট আপলোড বিষয়ে কেউ যদি জানতে চান বলতে পারেন, ওইটা নিয়ে তাহলে আরেকদিন লিখব।
যেহেতু অ্যাপের বাজার দিন দিন বড় হচ্ছে এবং কোডক্যানিয়নে পর্যাপ্ত কোয়ালিটিফুল অ্যাপের অভাব আছে সেহেতু অল্প ইফরট ডিয়ে অনেক ভালো কিছু করা সম্ভব।
এইচটিএমএল কিংবা ওয়ার্ডপ্রেস প্রোডাক্টগুলার মতো এন্ড্রয়েড প্রোডাক্ট রিজেক্ট কম হয়, আপনার প্রোডাক্টের ডিজাইন ভালো হলে, কোড কোয়ালিটি ভালো থাকলে এবং অ্যান্ড্রয়েডের বেস্ট স্ট্যান্ডার্ড ও প্রাকটিস ফলো করলে আশা করা যায় প্রথম বারেই এপ্রুভ হয়ে যাবে। নতুন আইটেম সাধারণত ৫ দিনের ভেতর রেভিউ করা হয় এবং আপডেট দিলে ২ দিনের ভেতর রেভিউ করা হয়। কোডক্যানিয়নের জন্য অ্যাপ ডেভেলপমেন্টের সব থেকে বড় সুবিধা হল পাসিভ ইনকাম। আপনি ঘুমায় থাকবেন, ট্রাভেল করবেন, অন্যান্য রেগুলার কাজ করবেন কিন্তু আপনার অ্যাপ বিক্রি হতে থাকবে। আপনার রেগুলার আপডেট এবং সাপোর্টের দিকটা গুরুত্ব সহকারে খেয়াল রাখতে হবে। অ্যাপের বিক্রির পরিমাণ অ্যাপের কোয়ালিটির পাশাপাশি রেগুলার আপডেট এবং সাপোর্টের নির্ভর করে অনেকাংশে। আর আপনার অ্যাপের কোয়ালিটি যদি ভালো হয় তাহলে রেগুলার বিক্রির পাশাপাশি অনেক কাস্টটোমাইযেসন রিকুয়েস্ট পাওয়া সম্ভব। আপনি চাইলে অ্যাপটি ডেমো হিসেবে অ্যাডমব ইন্টিগ্রেশন করে কিংবা সেম অ্যাপ আরেকটু মোডিফিকেশন অ্যাড করে + অ্যাডমব ইন্টিগ্রেশন করে প্লে-স্টোরে দিয়ে রাখতে পারেন। আরেকটা বিষয়, প্রতিটা ৫ স্টার রিভিউ অনেক গুরুত্বপূর্ণ আপনার প্রোডাক্টের জন্য, এই জন্য চেষ্টা করবেন ফিডব্যাক বাড়ানোর। ইউজারকে সাপোর্ট দেওয়া শেষে বলবেন, তার যদি প্রোডাক্ট ভালো লাগে এবং সাপোর্টে সন্তুষ্ট হয় সে যেন অবশ্যই আপনার প্রোডাক্টে রিভিউ প্রদান করে।
অ্যাপের ডিজাইন
অ্যাপের ডিজাইন অবশ্যই ইউনিক এবং ইউজার ফ্রেন্ডলি হতে হবে। এনভাটো সাধারণত ডিজাইন সুন্দর না হলে প্রোডাক্ট প্রথমেই হার্ড রিজেক্ট করে দেই, কোডক্যানিয়নে যদিও ডিজাইনে একটু ছাড় দেওয়া হয়(আমার পারসোনাল অভিজ্ঞতা)।
অ্যাপ প্রেসেন্টাশন
অ্যাপের ডিসপ্লে সুন্দর করে ডিজাইন করার চেষ্টা করা উচিত। মোটামুটি মানের জিনিশও সুন্দর ভাবে প্রেসেন্ট করতে পারলে মানুষ বিষয়টা সম্পর্কে আগ্রহী হয়। ইন্টারনেটে খোঁজাখুঁজি করলে অনেক ফ্রি পিএসডি পাওয়া যায়(নিচে কিছু লিঙ্ক দেওয়া আছে)।
অ্যাপের দাম কেমন দিবেন
আপনার যদি অ্যাপে কি কি ফিচার দিবেন তা নিয়ে যদি কনফিউসন থাকে তাহলে প্রথমে অল্প কিছু স্টাটার ফিচার দিয়ে অ্যাপ রিলিজ করতে পারেন। দেখবেন ইউজাররাই আপনাকে বলবে এই ফিচার টা দেন, এইটা হলে ভালো হত,এইটা দিলে আমি কিনব ইত্যাদি। আস্তে আস্তে ফিচারগুলা দিয়ে অ্যাপের আপডেট দিতে থাকুন। প্রথমে অ্যাপের দাম একটু কম রাখুন(অবশ্যই অ্যাপ কি বিষয় নিয়ে বানানো তার উপর ভিত্তি করে দাম ঠিক করুন, আমি কুইজ অ্যাপ বলে প্রথমে ১০ ডলার রাখছিলাম)। প্রতিবার নতুন নতুন ফিচার দেওয়ার সাথে সাথে অল্প অল্প করে অ্যাপের দাম বাড়াতে পারেন। যদি কোন ইউজার বড় কিংবা জটিল ফিচার নিতে চাই তখন তাকে বলেন আপনার পেইড কাস্টটোমাইযেসন সার্ভিস নিতে। মোটামুটি মানের একটা কাস্টটোমাইযেসন থেকে কয়েকশো ডলারও চার্জ করা সম্ভব।
অ্যাপে সেল বাড়ানোর কিছু সাজেশন
· ডিজাইন সুন্দর করার চেষ্টা করবেন
· সুন্দর অ্যাপ প্রেসেন্টাশন তৈরি করার চেষ্টা করবেন
· চেষ্টা করবেন অ্যাপে মাল্টি ল্যাঙ্গুয়েজ সাপোর্ট দিতে
· অনলাইন থেকে ডাটা নেওয়ার প্রয়োজন হলে কেশিং করে রাখবেন, প্রয়োজনে শেয়ারড-প্রেফারেঞ্চ,লোকাল ডাটাবেজ বা অন্য কিছু ব্যাবহার করুন
· সুন্দর ডকুমেন্টেশন তৈরি করার চেষ্টা করবেন, সম্ভব হলে কিছু স্ক্রীনকাস্ট তৈরি করতে পারেন(নিচে স্যাম্পল দেওয়া আছে)
· ইউজারদের টাইমমত সাপোর্ট দিবেন এবং তাদের রিভিউ দিতে বলবেন
· ইউজারদের হাতে বেশি কন্ট্রোল দেওয়ার চেষ্টা করবেন, মানে যেন মিনিমাম এন্ড্রয়েড নলেজ নিয়ে যে কেউ আপনার অ্যাপ মডিফাই করতে পারে
· ছোট ছোট ফিচার দিয়ে হলেও রেগুলার অ্যাপ আপডেট দেওয়ার চেষ্টা করবেন
· মেজর আপডেটগুলাতে ডিজাইন ইম্প্রুভ করার চেষ্টা করবেন
· প্রয়োজনে মার্কেটিং করতে পারেন
· আর হ্যাঁ,অ্যাপে আরটিএল এবং অ্যাডমব সাপোর্ট দিতে ভুলবেন না
পরিশেষে কিছু কথা, শেয়ারিং ইজ কেয়ারিং,নলেজ বিতরণ করলে কমে না বরঞ্চ বাড়ে, আমাদের সবার নিজেদের অবস্থান থেকে সবাইকে সহযোগিতা করা উচিত।
আরেকটা বিষয়, গুরু হাসান ভাইয়ার কথা,“অ্যাপ ডেভেলপার হবার চেয়ে ভালো মানুষ হওয়া বেশি জরুরি!”
কিছু রিসোর্স
আমার অ্যাপের ডকুমেন্টেশন- https://www.madebyarif.com/codecanyon/documentation/quizix/
আমি যে লাইব্রেরিগুলা রেগুলার ব্যাবহার করে থাকি
অ্যাপ ইন্ট্রো স্ক্রীনের জন্য- https://github.com/AppIntro/AppIntro
কাস্টম ফন্ট- https://github.com/chrisjenx/Calligraphy
বাইন্ড ভিউ- https://github.com/JakeWharton/butterknife
জাভা সিরিআলাইজেসন/ডিসিরিআলাইজেসন- https://github.com/google/gson
পারমিশন ম্যানেজমেন্ট- https://github.com/Karumi/Dexter
ইমেজ ডাউনলোড/কেশিং- https://github.com/square/picasso
কাস্টম চার্ট- https://github.com/PhilJay/MPAndroidChart
লোডার/স্পিনার- https://github.com/ybq/Android-SpinKit
বটম নেভিগেশন- https://github.com/aurelhubert/ahbottomnavigation
ফর্ম ভ্যালিডেশন- https://github.com/ragunathjawahar/android-saripaar
প্রগার্ড স্নিপেট- https://github.com/krschultz/android-proguard-snippets
উপরে উল্লেখ করা সাইট/লিঙ্কগুলা
ডিজাইন ইন্সপারেশন- https://search.muz.li/inspiration/mobile-app-design-inspiration/
রয়ালিটি ফ্রি ইমেজ- https://www.pexels.com/
কালার প্লেট জেনেরেটর- https://mycolor.space/
ফ্রি আইকন- https://icons8.com/
কিছু অ্যাপ প্রেসেন্টাশন মোকআপ- https://www.template.net/free-mockups/free-psd-app-screen-mockup/
আরও কিছু রিসোর্স
কিছু ইয়জফুল অ্যান্ড্রয়েড লাইব্রেরি- https://android523.wordpress.com/2017/12/11/android-220-libraries-with-github/
অসাম অ্যান্ড্রয়েড- https://github.com/JStumpp/awesome-android
কিছু অসাম ওপেন সোর্স অ্যান্ড্রয়েড প্রোজেক্ট- https://blog.aritraroy.in/20-awesome-open-source-android-apps-to-boost-your-development-skills-b62832cf0fa4
JSON থেকে জাভা অবজেক্ট/মডেল- http://www.jsonschema2pojo.org/
কিওয়ার্ড থেকে স্লোগান জেনেরেটর- https://www.shopify.com/tools/slogan-maker
কিছু দরকারি অ্যান্ড্রয়েড স্টুডিও শর্টকার্ট- https://android.jlelse.eu/10-shortcuts-to-boost-your-android-development-f2e20d278bf4
পাবলিক এপিআই- https://github.com/n0shake/Public-APIs
কোডক্যানিয়নে প্রোডাক্ট এপ্রুভ হবার টাইমলাইন- https://quality.market.envato.com/codecanyon
এবং আরও কিছু রিসোর্স
গুরু হাসান ভাইয়ার কাছে করা এন্ড্রয়েড কোর্সের সকল কোড- https://github.com/hasancse91/Android-Development-Course
প্রোগ্রামিং পাতা(বাংলায় প্রোগ্রামিং টিউটোরিয়াল)- https://medium.com/%E0%A6%AA%E0%A7%8D%E0%A6%B0%E0%A7%8B%E0%A6%97%E0%A7%8D%E0%A6%B0%E0%A6%BE%E0%A6%AE%E0%A6%BF%E0%A6%82-%E0%A6%AA%E0%A6%BE%E0%A6%A4%E0%A6%BE

Author: joker