Elke werkdag behandelt Computable een onderwerp waarover lezers kunnen discussiëren. Vandaag over de ondergewaardeerde kunst van front-end development.
Development is niet alleen een vak apart, het is een vak met meerdere op zichzelf staande disciplines. Zoals front-end development (ook wel client side development) genoemd. Dat is niet alleen een technische zaak (met bijvoorbeeld Flash, html, CSS en/of JavaScript) maar ook een kwestie van gebruikersinschatting en design.
Front-end development werd enkele jaren terug nog gezien als ‘een relatief obscure internetdiscipline’, maar wint aan belang door moderne technieken als html5 en de opkomst van mobile. Goede front-ends anno nu moeten meer zijn dan terminals voor back-end applicaties en toegang tot websites. Ze zijn dan niet gemaakt door back-end developers of webmasters en ook niet in elkaar gedraaid door een generieke webdesigner of html-programmeur. Het bouwen en bijhouden van front-ends is een vak apart; complex, evoluerend en nu volwassen wordend. Wat vind jij?
Flash is volgens mij inmiddels een no-go.
Een webgui ontwerpen is volgens mij nog steeds een ondergeschoven kindje. Waar je ook kijkt, je vindt zeldzaam frontends die opgebouwd zijn naar standaards.
Er bestaat al heel lang zo iets als WAI, http://www.w3.org/WAI/.
Toch vindt je overal “moderne” websites/webinterfaces met licht grijs op donker grijs dat niet leesbaar is, fonts die te dun zijn voor kleine letters en kleurenkombinaties die voor kleurenblinden onleesbaar zijn.
Iedere ontwerper kan zelf testen of zijn ontwerp ook leesbaar is met de Juicy Studio Accessability Toolbar, de meeste kennen die niet eens.
Je kunt nog zo goede techniek bouwen maar als die niet bedienbaar is heb je ontevreden gebruikers.
Voor geldt, geen flash (lek als een mandje) maar javascript en als het met CSS3 gaat dan liever CSS3.
Html5 is niet meer nieuw, ieder nieuwe interface/website moet je daar mee bouwen anders doe je wat verkeerd.
Wat een HTML-programmeur is vraag ik me af, want HTML is toch niets meer als een eenvoudige markup language, design maak je met CSS en programmeren doe je met PHP en/of javascript.
Uit ervaring kan ik zeggen dat ik niet geloof in de scheiding tussen backend- en frontend-developers, die is kunstmatig en leidt tot problemen in de funktionaliteit. Alleen als er heel erg intensief wordt samengewerkt kan het funktioneren. Dus een begin is wanneer website/webinterface-bouwers zelf ook ens standaards volgen (WAI) en niet alleen schelden op MS die geen standaards voor HTML aanhoudt.
Front-end development heeft zeker meer aandacht nodig, helaas zijn er veel meningen over wat front-end design nu eigenlijk is. Een hele range van disciplines wordt onder front-end geschoven. Zo heb je een multimedia designer met een grafische achtergrond tot een programmeur die vanuit een javascript framework werkt. Maar ook soft-skill specialisten die zich met human-interaction-design bezig houden zou je tot front-end kunnen rekenen. Hoewel iedereen een goede front-end absoluut waardeert is het lastig te kwantificeren wat front-end design opbrengt en dus mag kosten.
Front-end is multi-interpretabel en multidisciplinair en daarom vooralsnog moeilijk grijpbaar voor IT branche.
“Het bouwen en bijhouden van front-ends is een vak apart; complex, evoluerend en nu volwassen wordend”.
Grappig dat een discipline als cognitieve ergonomie zo doordrongen is in ons leven en er zo weinig mensen weten dat het bestaat. Daarom wordt het wiel regelmatig opnieuw uitgevonden (en soms is het zelfs rond). Denk daarbij onder andere aan responstijden, leesbaarheid, kleurgebruik, toegankelijkheid voor mensen met een handicapt, etc.
Leesvoer:
– https://en.wikipedia.org/wiki/Human%E2%80%93computer_interaction
– http://www.jessicachang.com/Cognitive%20Science.pdf
– https://www.ischool.utexas.edu/~adillon/BookChapters/User%20Interface%20Design_files/User%20Interface%20Design.htm
Wel eens afgevraagd waarom op veel sites van enterprise software geen screenshots of demo’s te vinden zijn? Omdat de schermen waar de gebruiker mee moet werken beschamend zijn.
In de meeste enterprise software projecten is de user interface een sluitpost. Er wordt geen budget vrijgemaakt voor (interaction-)design. De stagiaire van dat moment kan het er wel even bij doen. De gebruikers zitten vervolgens tot in lengte van jaren met de gebakken peren.
Enterprise software bouwers zouden heel veel kunnen leren van software als Slack, Pipedrive en Trello. Het zou verfrissend zijn als de ontwikkeling begint aan de voorkant in plaats van aan de achterkant.
Eerlijk gezegd snap ik de relevantie van de stelling niet. Zowel binnen als buiten de IT zijn man-machine interfaces en (beeldscherm-) ergonomie al tientallen jaren bekende thema’s en erkende disciplines.
Wie daar nu pas een Aha-Erlebnis bij krijgt zet mijns inziens zichzelf redelijk voor schut…
Front-enders zijn Rocksterren!
Ik heb meerdere teams die customer / consumer facing web applicaties en apps maken en wat een prachtig en uitdagend vak is dat!
JavaScript, samen met HTML / CSS voeren wel vaak de boventoon. Omdat zelf JavaScript from scratch prakken weinig “leverage” heeft heb je daar de Frameworks. En wow, wat een ghetto is dat!
Zo heb je reizende sterren en vallende kometen. Wat nu populair is, kan volgende maand al weer verlaten zijn.
En dan moet je ook nog snappen hoe mensen in elkaar steken en snappen hoe de back-end ontwikkelaars het bedacht hebben. En passant moet je ook nog weten hoe je dingen schaalbaar maakt en om het af te toppen moet je ook nog verstand hebben van protocollen, certificaten en beveiliging.
Goede front-enders zijn hun gewicht in goud waard!
En als je een goede front-ender bent (Python / Javascript / ReactJS met JSON REST API liefde), dan heb ik altijd plaats voor je!
Doe een Google search op “front-end developer”, beoordeel de resultaten, en stel dan de vraag nog eens 🙂
Het userinterface is al sinds de komst van de CRT het ondergeschoven kindje binnen ICT. Waarschijnlijk omdat er eindgebruikers, niet ICT specialisten, bij betrokken zijn.
Het is echter het belangrijkste onderdeel van een toepassing. Er kan dus niet genoeg aandacht aan worden besteed. Mijn stelling is dat een goede toepassing begint met het ontwerp van het end-user-interface en dat de programmering pas begint wanneer een door eindgebruikers gecertificeerd user interface gereed is.
Front-Endstra en Gui’s zijn de eerste kennismaking met een achterliggend softwareprogramma met evt. Database. Hier ligt een mooi werkterrein voor grafische ontwerpers en ook voor beeldende kunstenaars. Ook heel belangrijke aspecten zijn stabiliteit, performance en ergonomie. Verder kan ik me ook goed vinden in dre reactie van Jan van Leeuwen.
Tenslotte is een goede interactie met de gebruikers in support van belang. Het evalueren van gebruikerservaringen en bevindingen van Beta testers kunnen ertoe bijdragen dat front Endstra een succes worden.
Euh… moet ik met schamen als mijn front-end nog vaak een terminal is met scripts omdat GUI nog geen 60% van de functionaliteiten biedt omdat SCRUM team niet de tijd had om een schilletje te bouwen voor allerlei non-functionele vereisten. Cognitieve ergonomie of dissonantie, alle front-end klutser vergeten even dat SQL injection nog steeds de meeste voorkomende reden is van datalekken.