Nilipoketi kuanza kutengeneza tovuti yangu ya kwanza, msisimko ulikuwa wa kweli. Nilidhani sehemu ngumu ingekuwa kujifunza kodi—kukariri tags, kuelewa functions, na kuhakikisha syntax iko sahihi. Nilikuwa nimekosea. Kuandika kodi iligeuka kuwa sehemu rahisi. Changamoto halisi ilikuwa kubadilisha mistari hiyo kuwa kitu ambacho watu halisi wangeweza kukitumia bila kuchanganyikiwa au kukasirishwa. Mradi huo wa kwanza ulinifundisha kuwa maendeleo (development) si kuhusu kuchapa kodi peke yako, bali ni kuhusu kutatua matatizo ya binadamu ambao hawajali kuhusu stack yako. Nilifanya makosa yaliyoniacha na kupoteza muda, usingizi, na watumiaji wa mapema. Makosa matano yaliibuka zaidi kuliko mengine.

Kukimbilia Ukamilifu Kabla ya Kuzindua

Niliingia kwenye mtego wa kutafuta ukamilifu kabla hata sijastahili kuita kitu kuwa kamili. Nilitumia mchana mzima kubadilisha hex codes kwa rangi ndogo sana, kurekebisha thamani za border-radius kutoka pikseli nane hadi kumi na kurudi tena, na kuandika upya maneno ya kichwa cha habari mara tano kabla hata mgeni mmoja hajaona ukurasa huo. Nilijidanganya kuwa naboresha, lakini kwa kweli nilikuwa nachelewesha kazi kwa kisingizio cha ubora. Matokeo yake? Nilizindua wiki tatu baada ya muda uliopangwa. Tovuti ilipozinduliwa hatimaye, hakuna mtumiaji hata mmoja aliyetoa maoni kuhusu mduara wa kitufe (button curve) niliokuwa nikiupigia upatu. Walijali kama fomu ingetumwa bila kuharibika.

Somo hilo lilinibaki akilini: toa kazi yako kwanza. Huwezi kuboresha kulingana na maoni ambayo hujapata. Hakikisha muundo ni imara, hakikisha njia kuu inafanya kazi, na uizindue. Uboreshaji ni wa toleo la pili (version two), si toleo la sifuri (version zero). Watumiaji wako watakuambia ni nini hasa kilichoharibika dhidi ya kile unachodhani tu kuwa si kamili.

Kujenga Vitu Vingi Vingi Mapema Sana

Mradi wangu ulianza kama kifaa rahisi cha kushiriki mapendekezo ya vitabu. Hiyo ndiyo ilikuwa lengo kuu. Kufikia wiki ya pili, nilikuwa nimechora mfumo wa kuingia kwa mtumiaji (user login system), grafu ya tathmini inayobadilika (dynamic rating graph), sehemu ya maoni (comment section), kitufe cha hali ya giza (dark-mode toggle), na muhtasari wa barua pepe (email digest). Hakuna hata kimoja kilichofanya kazi vizuri. Mchakato wa kuingia (login flow) ulikwama nusu ya muda. Grafu ilikuwa haina data halisi ya kuonyesha. Sehemu ya maoni iliruhusu maoni yanayojirudia. Wakati huo huo, kipengele cha msingi cha orodha ya vitabu—sababu kuu ya tovuti hiyo kuwepo—kilikuwa kimefichwa chini ya mrundikano wa vitu vingine vilivyokuwa havijakamilika na vilivyokuwa vimeharibika, jambo lililowachanganya watu wowote walioingia kwenye ukurasa wa nyumbani.

Tovuti rahisi inayotatua tatizo moja kwa ufasaha daima itashinda tovuti tata inayofanya mambo kumi vibaya. Kabla ya kuandika mstari mwingine wa kodi, ainisha kazi moja ambayo bidhaa yako inamfanyia mtumiaji. Jenga hiyo. Ijaribu. Iboreshe mpaka iwe ya kuaminika. Ikiwa watumiaji wataomba dashibodi au sehemu ya mitandao ya kijamii, unaweza kuongeza wakati huo. Mpaka wakati huo, zuia hamu ya kujenga Swiss Army knife wakati kisu kimoja cha jikoni chenye makali ndicho kila mtu anachohitaji.

Kupuuza Uzoefu wa Mtumiaji Nyuma ya Muonekano

Nilitumia saa nyingi kuchagua fonti za kuvutia na rangi za kisasa. Nilijikita sana kwenye gradient ya mandhari ya sehemu kuu (hero section). Kisha nikapuuza jinsi tovuti ilivyokuwa inahisi kutumiwa. Kurasa zilichelewa sana kwa sababu nilikuwa nimepakia picha za PNG zenye ubora wa juu bila kufupishwa (compression). Lebo za uelekezi (navigation labels) zilitumia maneno ya kijanja ambayo yalionekana vizuri lakini yalifanya watu wajihisi wanabahatisha ni wapi kiungo (link) kitawapeleka. Vitufe vilikuwa vyembamba na vya kisasa lakini vidogo mno kubonyezwa kwenye kioo cha simu.

Nilijifunza kwa njia ngumu kuwa muundo wa picha (visual design) na uzoefu wa mtumiaji (user experience) si vitu vinavyoweza kubadilishana. Kiolesle (interface) kizuri kinashindwa ikiwa wageni watasubiri sekunde kadhaa kwa ajili ya picha ya kichwa (banner image), au ikiwa hawawezi kugundua jinsi ya kukufikia kwa chini ya mbofyo (clicks) mbili. Fanya kila mwingiliano uwe rahisi. Tumia lugha rahisi kwenye uelekezi. Fupisha rasilimali zako (assets). Hakikisha sehemu za kubonyeza ni kubwa vya kutosha. Kasi na uwazi si ziada unazoongeza mwishoni; ni msingi ambao kila kitu kingine kimejengwa juu yake.

Kufanya Majaribio Kwenye Mashine Yangu Pekee

Nilitengeneza tovuti nzima kwenye laptop moja, kwenye kivinjari (browser) kimoja, na kwenye azimio moja la kioo (screen resolution). Kwenye mashine yangu, kila kitu kilionekana kuwa bora. Kisha rafiki yangu aliiidhinisha kwenye iPhone yake. Vitufe vilivurugika na kuingiliana. Maandishi yalizidi nafasi yake. Rafiki mwingine alitumia Safari kwenye Mac, na mpangilio mzima wa CSS grid ulianguka na kuwa mrundikano usiosomeka. Nilikuwa nimechukulia kimyakimya kwamba ikiwa inafanya kazi kwangu, inafanya kazi kwa kila mtu. Dhana hiyo ilinigharimu wikendi ya marekebisho ya haraka (hotfixes) na kuomba radhi kwa aibu.

Usirudie kosa langu. Kabla ya kuchapisha, ifungue tovuti yako kwenye Chrome, Firefox, Safari, na Edge. Tumia zana za watengenezaji (developer tools) za kivinjari chako ili kuiga simu, tablet, na laptop za upana tofauti. Bofya kila kiungo. Tuma kila fomu. Badilisha ukubwa wa dirisha kwa nguvu. Hitilafu (bugs) unazozikamata wakati wa majaribio zina gharama ndogo zaidi kuliko zile ambazo watumiaji wako watazipata wakati wa matumizi halisi (production).

Kuchukulia Maoni Kama Shambulio Binafsi

Sharing the project made me nervous. What if people hated it? When a colleague suggested ditching a feature I had spent