நான் எனது முதல் இணையதளத்தை உருவாக்க அமர்ந்தபோது, அந்த உற்சாகம் உண்மையாக இருந்தது. குறியீடுகளைக் கற்றுக்கொள்வதுதான் (coding) கடினமான பகுதி என்று நான் நினைத்தேன்—டேக்குகளை (tags) மனப்பாடம் செய்வது, செயல்பாடுகளைப் (functions) புரிந்துகொள்வது, மற்றும் தொடரியலை (syntax) சரியாகப் பெறுவது போன்றவை. நான் தவறாக நினைத்தேன். குறியீடுகளை எழுதுவது எளிதான விஷயமாகத் தெரிந்தது. உண்மையான சவால் என்பது, அந்த வரிகளை மக்கள் குழப்பமோ அல்லது விரக்தியோ இன்றி பயன்படுத்தக்கூடிய ஒன்றாக மாற்றுவதுதான். தனிமையில் தட்டச்சு செய்வதை விட, உங்கள் தொழில்நுட்ப அடுக்கு (stack) பற்றி கவலைப்படாத மனிதர்களின் பிரச்சனைகளைத் தீர்ப்பதே மேம்பாடு (development) என்பதை அந்த முதல் திட்டம் எனக்குக் கற்பித்தது. நேரம், தூக்கம் மற்றும் ஆரம்பகால பயனர்களை இழக்கச் செய்த சில தவறுகளை நான் செய்தேன். அவற்றில் ஐந்து மிக முக்கியமானவை.

வெளியிடுவதற்கு முன்பே முழுமையைத் தேடுதல்

எதையும் 'முழுமையானது' என்று அழைப்பதற்கான தகுதியை நான் பெறுவதற்கு முன்பே, அந்த முழுமைத் தேடல் எனும் வலையில் நான் விழுந்துவிட்டேன். ஒரு பார்வையாளர் கூட பக்கத்தைப் பார்ப்பதற்கு முன்பே, ஒரு shade மாற்றத்திற்காக hex codes-களை மாற்றுவதிலும், border-radius மதிப்புகளை எட்டு பிக்சலில் இருந்து பத்து என மாற்றி மாற்றிச் செய்வதிலும், தலைப்பு வரிகளை ஐந்து முறை மீண்டும் எழுதுவதிலும் முழு மதிய நேரத்தையும் செலவிட்டேன். நான் மெருகேற்றுகிறேன் என்று எனக்கு நானே சொல்லிக்கொண்டேன், ஆனால் உண்மையில் தரத்தின் போர்வையில் நான் வேலையைத் தள்ளிப்போட்டுக் கொண்டிருந்தேன். அதன் விளைவு? நான் மூன்று வாரங்கள் தாமதமாக வெளியிட்டேன். இணையதளம் இறுதியாக நேரலையில் வந்தபோது, நான் எவ்வளவு கஷ்டப்பட்டு வடிவமைத்த அந்த பட்டன் வளைவைப் (button curve) பற்றி ஒரு பயனர் கூட கருத்துச் சொல்லவில்லை. படிவம் (form) முடங்காமல் சரியாகச் சமர்ப்பிக்கப்படுகிறதா என்பதையே அவர்கள் கவனித்தார்கள்.

அந்தப் பாடம் என் மனதில் பதிந்தது: முதலில் உங்கள் வேலையை வெளியிடுங்கள். உங்களுக்குக் கிடைக்காத கருத்துக்களின் அடிப்படையில் நீங்கள் மாற்றங்களைச் செய்ய முடியாது. கட்டமைப்பைச் சரியாக வைத்துக்கொண்டு, முக்கியப் பாதைகள் (core path) செயல்படுவதை உறுதி செய்துவிட்டு, அதை நேரலையில் கொண்டு வாருங்கள். மெருகேற்றுவது என்பது பதிப்பு இரண்டிற்கு (version two) உரியது, பதிப்பு பூஜ்ஜியத்திற்கு (version zero) அல்ல. எது உண்மையில் பழுதாகியுள்ளது, எது நீங்கள் கற்பனையாகக் குறையாக நினைக்கிறீர்கள் என்பதை உங்கள் பயனர்களே உங்களுக்குச் சொல்வார்கள்.

மிக விரைவாக மிக அதிகமாக உருவாக்குதல்

எனது திட்டம் புத்தகப் பரிந்துரைகளைப் பகிர்ந்து கொள்வதற்கான ஒரு எளிய கருவியாகத் தொடங்கியது. அதுதான் அதன் முழு நோக்கமும். இரண்டாவது வாரத்திற்குள், நான் ஒரு பயனர் லாகின் சிஸ்டம், ஒரு டைனமிக் ரேட்டிங் கிராப், ஒரு நெஸ்டட் கமெண்ட் செக்ஷன், ஒரு டார்க்-மோட் டாக்லி மற்றும் ஒரு மின்னஞ்சல் தொகுப்பு ஆகியவற்றைத் திட்டமிட்டிருந்தேன். அவற்றில் எதுவும் சரியாகச் செயல்படவில்லை. லாகின் செயல்முறை பாதி நேரமும் தோல்வியடைந்தது. கிராஃபில் காண்பிக்கத் தேவையான உண்மையான தரவுகள் இல்லை. கமெண்ட் செக்ஷனில் ஒரே கருத்து மீண்டும் மீண்டும் பதிவிட முடிந்தது. இதற்கிடையில், அந்த இணையதளத்தின் அடிப்படைத் தேவையான புத்தகப் பட்டியலிடும் அம்சம் (book-listing feature), முகப்புப் பக்கத்திற்கு வரும் எவரையும் குழப்பமடையச் செய்யும் வகையில், பாதியில் முடிக்கப்பட்ட பல தேவையற்ற அம்சங்களுக்குக் கீழே புதைந்து கிடந்தது.

பத்து விஷயங்களை மோசமாகச் செய்யும் ஒரு சிக்கலான இணையதளத்தை விட, ஒரு பிரச்சனையைத் தெளிவாகத் தீர்க்கும் ஒரு எளிய இணையதளமே எப்போதும் சிறந்தது. நீங்கள் அடுத்த வரியை எழுதுவதற்கு முன்பே, உங்கள் தயாரிப்பு பயனருக்காகச் செய்யும் அந்த ஒரு வேலையைத் தீர்மானியுங்கள். அதை உருவாக்குங்கள். அதைச் சோதியுங்கள். அது நம்பகமானதாக மாறும் வரை மெருகேற்றுங்கள். பயனர்கள் ஒரு டேஷ்போர்டு அல்லது சமூகத் தளத்தைக் கேட்டால், அப்போது நீங்கள் அதைச் சேர்த்துக் கொள்ளலாம். அதுவரை, ஒரு கூர்மையான சமையலறை கத்தி போதுமானிருக்கும் இடத்தில், ஒரு சுவிஸ் ஆர்மி கத்தியை உருவாக்கத் தூண்டும் ஆசையைத் தடுத்துக் கொள்ளுங்கள்.

தோற்றத்திற்குப் பின்னால் உள்ள அனுபவத்தைப் புறக்கணித்தல்

அழகான எழுத்துருக்கள் (fonts) மற்றும் ஸ்டைலான வண்ணத் தேர்வுகளைத் தேர்ந்தெடுக்க நான் பல மணிநேரங்களைச் செலவிட்டேன். இணையதளத்தின் முகப்புப் பகுதியின் (hero section) பின்னணி வண்ண மாற்றத்தில் (background gradient) நான் மூழ்கியிருந்தேன். ஆனால், அந்த இணையதளத்தைப் பயன்படுத்துவது எப்படி இருக்கும் என்பதை நான் புறக்கணித்தேன். நான் அழுத்தப்படாத (uncompressed) முழுத் தெளிவுத்திறன் கொண்ட PNG படங்களைப் பயன்படுத்தியதால், பக்கங்கள் மிக மெதுவாகத் திறந்தன. நேவிகேஷன் லேபிள்கள் (navigation labels) பார்ப்பதற்கு அழகாக இருந்தாலும், அந்த லிங்க் எங்கு செல்லும் என்பதைப் பயனர்கள் ஊகிக்க வேண்டியிருந்தது. பட்டன்கள் மெல்லியதாகவும் ஸ்டைலாகவும் இருந்தன, ஆனால் மொபைல் திரையில் தொடுவதற்கு மிகச் சிறியதாக இருந்தன.

விஷுவல் டிசைனும் (visual design) பயனர் அனுபவமும் (user experience) ஒன்றல்ல என்பதை நான் கசப்பான அனுபவத்தின் மூலம் கற்றுக்கொண்டேன். ஒரு பேனர் படம் தெரிய சில வினாடிகள் காத்திருக்க வேண்டியிருந்தால் அல்லது இரண்டு கிளிக்குகளுக்குள் உங்களைத் தொடர்பு கொள்ள முடியாவிட்டால், ஒரு அழகான இடைமுகம் (interface) தோல்வியடையும். ஒவ்வொரு செயல்பாட்டையும் எளிமையாக்குங்கள். நேவிகேஷனுக்கு எளிய மொழியைப் பயன்படுத்துங்கள். உங்கள் கோப்புகளை (assets) சுருக்குங்கள் (compress). பட்டன்கள் தொடுவதற்குப் போதுமான அளவு பெரியதாக இருப்பதை உறுதி செய்யுங்கள். வேகம் மற்றும் தெளிவு என்பவை இறுதியில் சேர்க்கப்படும் போனஸ்கள் அல்ல; அவை மற்ற அனைத்தும் அமையும் அடித்தளம்.

எனது சொந்த கணினியில் மட்டும் சோதனை செய்தல்

நான் முழு இணையதளத்தையும் ஒரே லேப்டாப், ஒரே பிரவுசர் மற்றும் ஒரே திரைத் தெளிவுத்திறனில் (screen resolution) உருவாக்கினேன். எனது கணினியில் எல்லாம் குறையில்லாமல் இருந்தது. ஆனால், எனது ஒரு தோழி அதைத் தனது ஐபோனில் (iPhone) திறந்தபோது, பட்டன்கள் ஒன்றன் மேல் ஒன்று அமைந்திருந்தன. உரை (text) அதன் எல்லைக்கு வெளியே சென்றது. மற்றொரு நண்பர் மேக்கில் (Mac) சபாரி (Safari) பிரவுசரைப் பயன்படுத்தியபோது, முழு CSS கிரிட் லேஅவுட்டும் (CSS grid layout) படிக்க முடியாதபடி சிதறிப்போனது. எனக்கு வேலை செய்கிறது என்றால், அது அனைவருக்கும் வேலை செய்யும் என்று நான் அமைதியாக நினைத்திருந்தேன். அந்தத் தவறான எண்ணம் எனக்கு ஒரு வார இறுதி முழுவதையும் அவசர அவசரமாகப் பிழைகளைத் திருத்துவதிலும் (hotfixes), மன்னிப்புக் கேட்பதிலும் செலவிட வைத்தது.

எனது தவறைத் திரும்பச் செய்யாதீர்கள். நீங்கள் வெளியிடுவதற்கு முன், உங்கள் தளத்தை Chrome, Firefox, Safari மற்றும் Edge ஆகிய பிரவுசர்களில் இயக்கிப் பாருங்கள். பல்வேறு அகலங்களைக் கொண்ட போன்கள், டேப்லெட்டுகள் மற்றும் லேப்டாப்களைச் சோதிக்க உங்கள் பிரவுசரின் டெவலப்பர் டூல்களைப் (developer tools) பயன்படுத்துங்கள். ஒவ்வொரு லிங்கையும் கிளிக் செய்யுங்கள். ஒவ்வொரு படிவத்தையும் (form) சமர்ப்பியுங்கள். விண்டோவை (window) வெவ்வேறு அளவுகளுக்கு மாற்றிப் பாருங்கள். சோதனையின் போது நீங்கள் கண்டறியும் பிழைகளைத் திருத்துவது எளிது; ஆனால் பயனர்கள் நேரலையில் (production) கண்டறியும் பிழைகளைத் திருத்துவது மிகவும் கடினம் மற்றும் செலவு மிக்கது.

கருத்துக்களைத் தனிப்பட்டத் தாக்குதலாகக் கருதுதல்

திட்டத்தைப் பகிர்ந்து கொள்வது எனக்குப் பதற்றத்தை ஏற்படுத்தியது. மக்கள் அதை வெறுத்தால் என்ன செய்வது? நான் செலவழித்த ஒரு அம்சத்தை கைவிடுமாறு ஒரு சக ஊழியர் பரிந்துரைத்தபோது