I web designer dovrebbero conoscere il codice? Trovare un compromesso in un dibattito stanco
I web designer dovrebbero comprendere HTML e CSS di base? È una discussione stanca con due parti che si rifiutano di cedere, perché nemmeno discuterne?
Lo scopo di questo articolo non è quello di dimostrare quale gruppo ha ragione, ma di provare a dimostrare che entrambe le parti hanno effettivamente formulato punti validi e di vedere se l'analisi di questi punti ci porta a un compromesso su cui entrambe le parti possono concordare.
Un argomento caldo
Uno dei nostri articoli della scorsa settimana ha spinto diversi commenti riguardo alle implicazioni in tutto il pezzo che i web designer dovrebbero avere una conoscenza di base del codice coinvolto nella creazione di una pagina web. Molti hanno applaudito questo suggerimento, mentre un numero uguale di lettori ha ritenuto che fosse fuori dal comune.
Questo argomento è stato discusso a lungo su quasi tutti i blog di design sul web. Ci sono due lati distinti nel dibattito, i cui membri hanno tracciato linee chiare nella sabbia che probabilmente non saranno mai attraversate.
Ho ragione e ti sbagli
Chiunque creda che la comprensione del codice non sia necessaria per la progettazione semplicemente rifiuta di intrattenere i pensieri che questa visione potrebbe essere sbagliata. Allo stesso modo, i progettisti che hanno una buona conoscenza del codice non possono essere convinti di non essere designer migliori per questo.
"O i progettisti dovrebbero conoscere il codice o non dovrebbero, un argomento così semplice lascia poco spazio al compromesso".Quindi dove ci lascia? Sembriamo essere in una situazione di stallo immobile con entrambe le parti che tengono duro. Il problema più grande qui è che non sembra esserci via di mezzo. O i progettisti dovrebbero conoscere il codice o non dovrebbero, un argomento così semplice lascia poco spazio al compromesso.
Tuttavia, il fatto che entrambe le parti si aggrappino alle loro opinioni così strettamente indica che ognuno ha punti importanti che non dovrebbero essere considerati. Oggi tenteremo di rispettare questi punti e di trovare la via di mezzo sfuggente. Speriamo di poter indirizzare la discussione verso una conclusione a cui entrambe le parti possano almeno in parte sottoscrivere.
Lo stato dello sviluppo Web
Data la natura del dibattito, suppongo che alcuni di noi capiscano come sono costruiti i siti Web e altri no. Con questo in mente, una semplice definizione dei termini farà molto per aiutare a portare tutti sulla stessa pagina.
L'essenza veloce e sporca è che l'HTML è usato per il contenuto, CSS per lo stile e JavaScript per il comportamento. Di seguito è un po 'troppo semplificato, ma riflette lo stato generale di come sono costruite le pagine Web di base.
"L'HTML è utilizzato per i contenuti, CSS per lo stile e JavaScript per il comportamento"Una tipica pagina potrebbe contenere testo, collegamenti e persino immagini primarie inserite tramite HTML, la cui struttura fornisce la gerarchia per l'intero progetto. HTML è lo scheletro della tua pagina.
Allo stesso modo, CSS è la skin della tua pagina. Qui vengono fatte la maggior parte delle scelte estetiche: colori, caratteri e persino layout sono realizzati tramite CSS. Gran parte di ciò che un designer è responsabile viene eseguito con i CSS, quindi se un designer ha bisogno di capire qualcosa sul codice, questo è un buon punto di partenza.
JavaScript è il cervello opzionale per la tua pagina. Se vuoi presentazioni fantasiose o altre funzionalità dinamiche, JavaScript è spesso il modo migliore per farlo. Ultimamente, CSS3 si è evoluto in un essere senziente in grado di rubare alcuni dei tuoni comportamentali di JavaScript, quindi le linee non sono chiare come una volta.
Capire il tuo commercio
Indipendentemente dal tipo di designer che sei, è difficile sostenere che non è fondamentale per la tua carriera tentare di comprendere la natura di ciò che stai creando.
I bravi progettisti di stampa sanno tutto della stampa e dei suoi processi circostanti. Comprendono le operazioni di base per la stampa a quattro colori, il modo in cui la carta viene tagliata in base alle dimensioni dell'annuncio e in che modo si riferisce alla configurazione dei file, che tipo di inchiostro è disponibile e come viene miscelato; continua all'infinito.
Un layout di base può essere creato completamente senza questa conoscenza, ma i veri professionisti investono il tempo e gli sforzi per apprendere i processi alla base dell'implementazione di un progetto in modo che possano tenerne conto durante il processo di progettazione.
"I veri professionisti investono il tempo e gli sforzi per apprendere i processi alla base dell'implementazione di un progetto."I web designer ricevono spesso un pass gratuito in quest'area. La tecnologia Web è complicata, quindi non è realistico aspettarsi che un designer lo capisca. Dopotutto, che importanza ha il modo in cui il colore di sfondo viene implementato purché corrisponda alle specifiche del design?
È un copout o un argomento legittimo? I web designer hanno davvero bisogno di sapere cosa comporta la realizzazione dei loro progetti come fanno i designer di stampa? Se conoscere la differenza tra i colori spot e di quadricromia ti rende un progettista di stampe migliore, capire il ruolo, la relazione e l'implementazione delle tre tecnologie sopra menzionate ti rende un web designer migliore?
Progettare per il Web
Il web è una forma di media davvero unica. Alcuni progetti richiedono un alto livello di interazione, mentre altri sono poco più che una rappresentazione digitale di ciò che potrebbe essere facilmente stampato contenuto (ad esempio questo articolo).
Come web designer, hai il compito di analizzare ogni scenario e fornire un'estetica che si adatti meglio agli obiettivi e agli utenti del sito. Sorge una domanda importante sul fatto che tu possa davvero raggiungere questo obiettivo senza una comprensione di base di come funziona il web.
Supponiamo che tu stia progettando un sito mobile e che il tuo cliente desideri mantenere bassi i tempi di caricamento. Se sai di cosa sono capaci i CSS, puoi facilmente creare un design accattivante che non richiede immagini. Tuttavia, se non sei sicuro di quanto sia fattibile qualcosa come un gradiente compatibile con più browser, sei in svantaggio.
Lo stesso vale per la tipografia. Forse vuoi usare un carattere univoco su una porzione di testo che deve essere live, non aiuterebbe a capire l'implementazione di @ font-face e cosa puoi farci?
Ruoli di separazione
Un importante argomento secondario in questo dibattito emerge se i ruoli di designer e sviluppatore debbano essere completamente separati. Questa è un'area in cui entrambe le parti hanno argomenti altrettanto legittimi.
I separatisti affermano che il web design e lo sviluppo web sono due ruoli completamente diversi che richiedono competenze molto diverse. È molto meglio avere creativi dedicati esclusivamente al design e ai tecnici esclusivamente alla codifica piuttosto che tentare di unire i due ruoli in un singolo individuo. Farlo significherebbe richiedere troppo a una persona e il progetto ne risentirebbe.
In effetti, molte grandi aziende in tutto il mondo gestiscono i loro team web esattamente in questo modo, con un gruppo dedicato alla creazione di progetti che vengono poi consegnati a un altro reparto per essere trasformati in un progetto dal vivo. Ciò è particolarmente necessario quando un progetto richiede un alto livello di competenza nello sviluppo, ad esempio con un'applicazione Ruby o PHP.
"Nessuno di noi può presumere di conoscere un unico formato che può e deve essere applicato a tutte le società di web design ovunque".Tuttavia, le piccole imprese e le operazioni freelance spesso non possono permettersi più team di esperti. In questi scenari, il superuomo solitario che può vedere un progetto dall'inizio alla fine è una risorsa inestimabile. Piaccia o no, in realtà esistono tali individui, molti dei quali sono straordinariamente bravi sia nella progettazione che nello sviluppo.
Se affrontiamo questo argomento secondario con una mente aperta, penso che possiamo tutti concordare sul fatto che ci sono circostanze in cui è utile che i ruoli di designer e sviluppatore siano separati e altri scenari in cui è meglio che vengano messi insieme. Nessuno di noi può presumere di conoscere un unico formato che può e deve essere applicato a tutte le società di web design ovunque.
Il cuore del problema
Trovare un compromesso nell'argomento sopra è un passo importante. Se siamo tutti d'accordo sul fatto che ci sono casi in cui sia la divisione che l'unione dei ruoli di progettista e di sviluppatore è una struttura legittima, allora forse possiamo giungere a una conclusione generale sul fatto che i progettisti in generale debbano comprendere il codice.
Per trovare un terreno comune, analizziamo ogni argomento. La condizione del puro designer è facile per me capire perché sono stato in questo campo per così tanto tempo. Il design visivo è più complicato di quanto molte persone gli attribuiscano il merito. Ci sono troppi ragazzi HTML e CSS che ritengono che, poiché sanno come costruire un sito, dovrebbero essere in grado di progettarne uno. Come la programmazione, il design non è qualcosa in cui puoi riuscire senza un'istruzione e un'esplorazione fondamentali su ciò che funziona e cosa no. I designer non sono semplicemente persone con un occhio per le combinazioni di colori, sono persone altamente qualificate che hanno lavorato duramente per costruire il set di abilità che possiedono.
Qui è da asporto che i programmatori senza esperienza di progettazione probabilmente non hanno affari che fingono di essere designer. Allo stesso modo, un designer non dovrebbe passare il tempo a hackerare insieme codice scritto male.
Ma aspettiamo, abbiamo già discusso sopra come una comprensione di base del codice possa effettivamente preparare meglio il progettista a creare qualcosa che si adatti agli obiettivi del sito. Quindi dove ci lascia questo?
Il compromesso
La conversazione sopra potrebbe sembrare un po 'lunga e superflua, ma i passaggi della logica che abbiamo attraversato sono importanti per portarci a un punto in cui possiamo raggiungere una conclusione.
Con in mente argomentazioni valide da entrambe le parti, è molto più facile trovare un compromesso. Ora possiamo vedere che coloro che pensano che i designer debbano capire il codice spesso non si preoccupano davvero se il designer è colui che realmente codifica il sito Web. Sostengono semplicemente che, armati della conoscenza di come funziona il backend, è possibile creare un design più adatto alle fronde.
"A volte la comprensione del lavoro di qualcun altro ti aiuta a migliorare il tuo."Il compromesso è quindi che, mentre alcuni web designer possono e traggono vantaggio dalla possibilità di scrivere codice, forse questa abilità non è del tutto necessaria in tutti i web designer. Tuttavia, è molto diverso dal dire che i progettisti non dovrebbero capire il codice che va nei siti di styling.
C'è un'importante distinzione qui. Ad esempio, capisco molto su come funziona la stampa di giornali. Comprendo la qualità della carta e dell'inchiostro e come ciò si collega a concetti come l'utilizzo di nero intenso anziché nero puro nei miei progetti. Tuttavia, ciò non significa che posso uscire e ottenere un lavoro gestendo la sala stampa! Comprendo quegli aspetti della stampa necessari per rendermi un designer migliore. A volte la comprensione del lavoro di qualcun altro ti aiuta a migliorare il tuo.
Allo stesso modo, si potrebbe dire che i web designer dovrebbero comprendere quegli aspetti della codifica che li rendono migliori web designer. Usando i miei esempi precedenti, si può capire la flessibilità e le restrizioni di @ font-face senza memorizzare la sintassi Bulletproof di Paul Irish. Puoi anche capire quali sono gli effetti CSS3 supportati in quali browser senza poter scrivere il codice necessario per tale implementazione.
Metti giù le tue armi
Non sono abbastanza ingenuo da immaginare che ogni lettore sarà d'accordo con le mie conclusioni. Come ho detto sopra, ci sono molti che semplicemente rifiutano di considerare la possibilità che la loro strada non sia l'unico modo. Tuttavia, esorto ciascuno di voi a considerare quanto ci avviciniamo alla conclusione di questo dibattito con la logica usata sopra.
"Il tuo compito è quello di assorbire le informazioni che possono e dovrebbero influenzare le tue decisioni di progettazione."Alla fine, perché ti importa chi fa cosa in un'azienda di web design purché il prodotto finale sia soddisfacente? Con questo obiettivo in mente, un web designer che non è in grado di scrivere CSS dalla cima della sua testa non è un requisito assoluto, ma ciò non significa che sia fuori di testa per comprendere la natura fondamentale dello sviluppo web e gli strumenti che sarà utilizzato per implementare il design che crea.
Sia che tu progetti interfacce per applicazioni, cartelloni pubblicitari, siti Web o bottiglie di shampoo, hai la responsabilità di capire come verrà implementato il tuo design. Se sei abbastanza ansioso di imparare il processo abbastanza bene da farlo da solo, buon per te. In caso contrario, il tuo compito è quello di assorbire le informazioni che possono e devono influenzare le tue decisioni di progettazione.
Conclusione
Per riassumere, tutti abbiamo espresso opinioni ferme sull'opportunità o meno di tutti i web designer di comprendere HTML e CSS di base. Tuttavia, se mettiamo da parte queste opinioni abbastanza a lungo per renderci conto che entrambe le parti del dibattito fanno punti validi, allora forse un compromesso può essere fatto.
Se incoraggiamo tutti i designer a comprendere il loro mestiere e ciò che è coinvolto nel realizzare le loro creazioni, allora tutti abbiamo un chiaro punto di accordo. Abbassa il tuo giudizio sul processo degli altri e scegli un nuovo mantra: i bravi designer prendono decisioni informate. Chi può discutere con un simile reclamo?
Lascia un commento qui sotto e facci sapere cosa ne pensi. È vero che i web designer, come i tipografi, dovrebbero almeno tentare di capire cosa succede con il design dopo averlo consegnato? Importa se un designer può scrivere codice fintanto che comprende le implicazioni di come le attuali tecnologie web dovrebbero influenzare un design?