Se sei un programmatore a cui mancano le capacità di progettazione visiva, cosa ha funzionato meglio per te: accoppiarti con un graphic designer o fare tutta la programmazione e poi lavorare su un lavoro specifico?
Ho lavorato a lungo come sviluppatore indipendente prima di lavorare in azienda e raccomando quest'ultimo se hai un budget e un programma ristretti e devi spedire.
Il problema è che lavorare con un designer in anticipo è l'ideale, ma le spese generali di collaborazione possono essere enormi , specialmente se sono grandi designer. I grandi designer ossessioneranno ogni dettaglio, tranne per il fatto che i loro progetti spesso non comunicano ogni dettaglio fino all'ultima funzione. Puoi finire per dover leggere tra le righe di tutti i modelli, e inizia a diventare poco chiaro chi sia il vero designer quando si tratta di quelle decisioni sottili ma molto importanti sul flusso di lavoro.
Lavorare con i designer in anticipo
Una cosa difficile che può accadere è che potresti ottenere un designer che rende questo bellissimo modello dall'aspetto del prodotto finale reso meticolosamente in Photoshop, ad esempio È bene evitare effettivamente quei tipi o almeno addestrarli in anticipo.
Il problema in questi casi è che puoi finire per passare tutto il tuo tempo a cercare di far coincidere l'aspetto di Photoshop con un'ombra discendente o una smussatura / arrotondamento dei pulsanti o l'antialiasing dei caratteri, ad es.
Idealmente sia la progettazione del software che la progettazione grafica del designer si evolvono insieme, quindi è fantastico se inizi con un designer in anticipo per avere il designer a mantenere i suoi progetti molto vaghi, abbozzati, come "scarabocchiato su un tovagliolo" un po 'sciolto. Deve essere altamente collaborativo, e ancora di più all'inizio. Sia tu che il progettista dovete essere disposti ad evolvere i vostri progetti e deviare un po 'dall'inizio dello "schizzo", e deve esserci una forte enfasi sullo "schizzo libero".
È anche utile stabilire anticipatamente alcuni vincoli in modo che non si stia cercando di abbinare le capacità di rendering di Photoshop o Illustrator, ad es. Per qualsiasi toolkit GUI che si sta utilizzando, si desidera prestare attenzione alle sue capacità di rendering pratiche, come appare, e formare il progettista affinché i suoi progetti corrispondano alle capacità (e persino all'utilizzo / layout incoraggiati) del kit GUI.
Se stai combattendo il kit GUI per cercare di far corrispondere i tuoi progetti, o devi addestrare il progettista dei vincoli di sistema più in anticipo o abbandonare il kit GUI e possibilmente anche lanciare il tuo se vuoi davvero ottenere una corrispondenza perfetta . Idealmente, il progettista disegna effettivamente il suo progetto all'interno del kit GUI, ma potrebbe essere pratico o meno a seconda degli strumenti.
Lavorare con i designer in ritardo
Immagino che ciò accada dal momento che devo essere esplicito in ciò che voglio con gli appaltatori e che sono limitati nella creatività dall'architettura che ho creato.
Ciò non è necessariamente una cattiva cosa. Un grande designer può fare cose fantastiche con vincoli stretti. A volte fanno anche meglio con vincoli stretti, come i progettisti di sprite per Super Nintendo, Ridley Scott quando ha realizzato Alien, ecc. In realtà consiglierei questo percorso se hai poco tempo / budget e non rimarrai deluso di vedere un sacco di la tua impronta nel design.
Terza opzione: sviluppa le tue abilità di progettazione
Sono un orribile designer dell'interfaccia utente ma non sono un programmatore molto ricco e non ho mai avuto i soldi per permettermi un designer dell'interfaccia utente.
Inoltre, l'esperienza della mia azienda non mi ha dato una buona impressione del costo (in termini di tempo e denaro) di lavorare con uno dedicato (anche dopo aver attraversato diversi designer in un decennio di tempo), sebbene il chilometraggio di ognuno possa variare. Sembra che alcune persone qui abbiano avuto grandi esperienze di lavoro con i designer, quindi potrebbe essere stata solo quella impostazione dell'azienda (tutti i programmatori odiavano lavorare con i designer lì e lo vedevano in gran parte come dedicare quantità di tempo estranee a dettagli pignoli).
Quindi ho sempre cercato di sviluppare un po 'le mie capacità progettuali. Un esempio di una delle mie piccole app:
Ha avuto delle belle risposte sul design, anche se potrebbero essere gli utenti che mi lusingano, e anche perché questa applicazione è un po 'tecnica (programmazione visiva con audio, immagini e video). Spero di non essermi messo troppo in imbarazzo solo lì (penso che sia ragionevole ma potrebbe essere solo "arte del programmatore").
Se ciò non sembra troppo orribile, trovo che la chiave sia solo lavorare con le mie limitate capacità di progettazione. Dal momento che sono così orribile, uso tavolozze minime, come un po 'di grigio scuro con non più di due o tre colori principali per evidenziare la selezione e cose del genere, rilassarmi sui gradienti, usare menu e cose invece di un sacco di dialoghi fantasiosi, ma non farli scorrere quando possibile. Fondamentalmente sto facendo tutto il possibile per nascondere il fatto che non so cosa diavolo sto facendo.
Di solito quando vedo progetti di sviluppatori che sembrano davvero disgustosi (non solo ai miei occhi ma praticamente a tutti), i programmatori probabilmente non sono peggio di me in fase di progettazione e molto probabilmente molto meglio, ma troppo ambiziosi. Stanno inserendo sfumature fantasiose in tutto il luogo, cercando di creare un design molto colorato - e questo richiede molta abilità per ottenere il giusto. È più facile creare un design discreto con un'attenta selezione di una manciata di colori per far apparire le cose e questo richiede poca abilità progettuale.
È tutta l'organizzazione come la vedo io. I miei progetti potrebbero non sembrare belli ma sono in qualche modo legati alla funzionalità e mi concentro su cose su cui posso facilmente concentrarmi come programmatore come mantenere tutto reattivo, veloce, a bassa memoria, privo di scatti. Sembra avere una risposta positiva, ma non lo so.
Un'altra cosa è che se lavori su un'applicazione in cui c'è un'area di messa a fuoco principale come una tela o un viewport o qualcosa del genere, le persone sono sorprendentemente generose con un design incredibilmente minimalista qui. Di seguito l'ho solo tenuto nei menu e nelle finestre di dialogo e gli utenti almeno non sembravano odiarlo, anche se qui non c'è molto di un "design" (solo un menu in stile "start" e di livello superiore menu e alcune finestre di dialogo popup di base che possono essere ancorate):
Qui ho nascosto il fatto che non so cosa sto facendo semplicemente decorando il viewport con menu e cose di base, ma la grafica al centro lo rende un po 'interessante senza il mio "intervento di progettazione". Quindi puoi davvero, davvero sottomettere il design in quei casi e far emergere la bellezza del lavoro dell'utente.
... Non è così difficile progettare un software che potrebbe almeno andare ragionevolmente bene con un pubblico indipendente. Di solito non sono in competizione con le grandi aziende quando sono da solo, quindi forse le persone mi stanno dando molta libertà con i miei progetti. Eppure penso che valga la pena sviluppare le tue capacità di progettazione un po 'da teenager, se non altro per comunicare meglio le tue intenzioni con il designer. Potrei essermi appena fatto un cretino con queste immagini di cui sopra, ma in caso contrario e non sono poi così male, ho scoperto che non è necessario alcun addestramento formale o tempo per realizzare questo tipo di progetti di base. Tutto ciò di cui abbiamo bisogno è la moderazione.