english English

A Slicers' nightmare

Iedereen wil een mooie website. Een goede webdesigner weet wat de klant wil, maar niet alle designers houden rekening met de beperkingen die een webbrowser heeft. Daarom is het voor slicers, die de designs 'webklaar' maken, vaak een heuse opdracht om de prachtige lay-out van designers met zo weinig mogelijk opofferingen tot een 'prototype' uit te werken.

slicers nightmare

Slicen zal voor sommige lezers wel een vrij onbekende term zijn. Wikipedia omschrijft het alsvolgt:

Slicen is het bruikbaar maken van een lay-out.
Het slicen gebeurt door middel van het verdelen van een lay-out in kleine plaatjes zodat deze gebruikt kunnen worden op een webpagina. Dit gebeurt meestal met het programma Adobe Photoshop, maar dit is ook mogelijk met minder bekende fotobewerkingsprogramma's, zoals Fireworks. Wanneer de plaatjes gesliced zijn, oftewel verdeeld in kleine plaatjes, kunnen deze gebruikt worden in een lay-out. De plaatjes worden vervolgens op de webpagina gepositioneerd met CSS. Door de lay-out van een webpagina op deze manier in een website te verwerken, wordt de website snel geladen.

Wat volgt zijn enkele zaken waar de meeste slicers zich aan ergeren als ze een design webklaar moeten maken. Waar de designers volgens de slicers te weinig rekening mee houden of wat weinig meerwaarde maar veel meer werk met zich meebrengt.

Tools of the Trade

tools

Photoshop en Fireworks zijn de standaard programma's die gebruikt worden door webdesigners als het aankomt op het ontwerpen van websites. Het gebeurt echter maar al te vaak dat er designs aangeleverd worden in Illustrator, CorelDraw, Publisher of zelfs de enkele creatieveling die zijn design skills in Powerpoint probeert bot te vieren. Voor slicers is het belangrijk dat ze een bestand aankrijgen dat klaar is voor het omzetten naar een website en ideaal daarvoor zijn bestandsformaten gebaseerd op bitmap (zoals PSD, layered PNG, ...) en niet vectorieel.

Drop shadows

dropshadows

Dropshadows is de ideale manier om diepte te creëren in je design, het probleem is meestal wel dat je om dropshadows te implementeren in een website transparantie (alpha channels) nodig hebt en dat is nu net iets waar Internet Explorer 6 geen kaas van heeft gegeten. Deze sterk verouderde browser ondersteunt geen alpha transparantie in PNG afbeeldingen met als gevolg dat je voor deze browsers een PNGFix moet toepassen wat vaak voor problemen en bugs zorgt. Zo kan het voorkomen dat anchor elementen niet klikbaar zijn boven een transparante layer.

Formulieren

formulieren

Je kan met formulieren vaak heel mooie dingen, het enige probleem is dat de stijl van form elementen zeer erg afhankelijk is van het besturingssysteem van de browser en dat vaak een mooie form lay-out niet haalbaar is in alle browsers. Ideaal is dat de form elementen zelf zo weinig mogelijk van grafische opmaak voorzien worden maar dat het formulier zelf qua lay-out wordt opgesmukt en extra visuele elementen worden toegevoegd (icons, labels, fieldsets, widgets, ...). Vaak bereik je zo ook een mooi en toch niet al te standaard en saai resultaat.

Verticaal gecentreerde items

verticaal gecentreerde items

Vroeger waren verticaal gecentreerde elementen geen probleem, je kon zonder problemen in een table lay-out de valign property van een cell op 'middle' zetten. Maar aangezien table lay-outs niet meer van deze tijd zijn en tegenwoordig CSS de techniek is voor de lay-out van websites is het verticaal centreren van elementen een stuk moeilijker geworden en niet mogelijk zonder browserhacks.

Laattijdige aanpassingen van het ontwerp

laattijdige design aanpassingen

Je bent na veel zweten en zwoegen eindelijk klaar en hebt het meesterwerk van je designer feilloos omgezet in een website prototype. Maar dan gaat de telefoon, men heeft zich bedacht en wil toch nog enkele kleine aanpassingen aan de lay-out doorvoeren. Vaak zijn het voor de designer maar kleine aanpassingen maar voor de slicers is het vaak gewoon deels opnieuw beginnen, een content blok breder of smaller maken is niet altijd erg voor de hand liggend als je al je images al tot op de pixel hebt uitgesneden. Vaak zijn het zulke kleine aanpassingen waardoor je veel tijd verliest.

What the layer?

layers

Een design bestaat meestal uit enkele honderden photoshop layers. Maar waar moet je beginnen als er geen structuur is? Je kan het vergelijken met zoeken naar een speld in een hooiberg, je zal hem uiteindelijk wel vinden maar je verspilt hier enorm veel tijd mee. Niet alleen de hoeveelheid layers maar ook de benaming van layers (of het ontbreken daarvan) kan vaak tot veel verloren tijd leiden.

Bij Inventis maken we gebruik van layer groups en geven we elke layer een duidelijke naam om verschillende elementen van elkaar te onderscheiden waardoor je toch wel kostbare tijd kan winnen.

What to hover?

hover

Hover effecten zijn elementen die maar al te vaak vergeten worden in een design. Regelmatig wordt er een menu uitgewerkt waarbij enkel de default status van een button in wordt weergegeven. Maar buttons hebben meerdere statussen zoals 'active', 'hover' en 'click' en die worden vaak niet in het design opgenomen en overgelaten aan de smaak van de slicer. Wij maken een aparte layer aan voor elke status van het menu. Zo verliest de slicer geen tijd met het zoeken naar de juiste effecten en is de designer tevreden met het eindresultaat.

Transparente afbeeldingen of achtergronden

transparantie

Transparante afbeeldingen en achtergronden worden niet erg goed ondersteund in Internet Explorer 6, meerbepaald PNG alpha transparantie is niet aanwezig en moet opgevangen worden met extra css en/of javascript hacks. In designs die erg veel gebruik maken van grafische elementen die over mekaar liggen kan je echter niet zonder de alpha transparency van PNG's en zal je dus weer extra tijd moeten steken in het toepassen van PNGFix of andere oplossingen.

Conclusie

Zoals je ziet ondervinden slicers vaak frustraties aan kleine dingen die makkelijk te overkomen zijn als er vanaf het begin van het designproces mee rekening gehouden wordt.

In een reeks volgende blogposts zal ik jullie uitleg geven hoe je bovenstaande en andere browser related issues op een snelle en efficiënte manier kunt oplossen.

Laat zeker even een reactie achter, ik ben benieuwd welke nachtmerries jullie zoal hebben!

RSS reacties feed

14 reacties tot nu toe

Stijn Henderickx

Stijn Henderickx zei 3 jaar geleden:

Herkenbaarheid ! :-)

"Maar aangezien table lay-outs niet meer van deze tijd zijn ..."

Dat je tabellen gebruikt om als basis van je layout samen te stellen is verkeerd. Maar het gebruiken van tabellen om bv. een matrix van cijfers weergeven is niet verkeerd.
filip Bunkens

filip Bunkens zei 3 jaar geleden:

Als een slicer moet ik toch zeggen dat ik niet volledig akkoord ben met alle punten.

Inderdaad het naamgeven van layers en het aanleveren van de bestanden in photoshop is een grote frustratie.

Waar ik echter niet mee akkoord ben is dat de designer rekening moet houden met wat er mogelijk is op het internet. Ik heb persoonlijk nog nooit een design gekregen die ik niet kon omzetten naar valid html en css. Ok, soms moet je wat langer zoeken of moet je een aantal IE-hacks toepassen maar dat hoort nu eenmaal bij het slicen.

Persoonlijk heb ik liever dat een designer geen rekening houdt met wat er mogelijk is op het web, op die manier krijg je dikwijls veel creatievere designs. Als designers gaan rekening houden met wat er mogelijk is op het web dan, vervallen ze al heel snel in clichematige lay-outs en designs.
Ik vind dat het als slicer ook veel meer voldoening geeft om een op het eerste gezicht onmogelijke design om te slicen toch te laten werken op alle browser, dan om een standaard design te slicen.

Just my 2 cents...
David Candreva

David Candreva zei 3 jaar geleden:

@Stijn uiteraard tabellen gebruik ik ook nog steeds voor tabulaire data, daar is helemaal niets verkeerd aan.

@Filip er zijn geen "onmogelijk designs" het is gewoon de extra tijd die je erin moet steken om alles cross-browser te laten werken wat tijdrovend en frustrerend is omdat het vaak alleen voor IE6 nodig is..

Ik zeg niet dat designers hun ding niet mogen doen, dat zullen ze sowieso doen ook na het lezen van deze blogpost.

Bedankt voor jullie reacties!
Wouter De Schuyter

Wouter De Schuyter zei 3 jaar geleden:

Transparante plaatjes in IE6 zijn een hel :s.. Ik heb al talloze js fixes geprobeerd maar telkens te vergeefs.
David Candreva

David Candreva zei 3 jaar geleden:

@Wouter ik kan je de Twinhelix IEPNGFix v2.0 Alpha aanraden.
Koen Mertens

Koen Mertens zei 3 jaar geleden:

Vanuit een technisch standpunt is het leuker dat je "eenvoudige" designs binnenkrijgt omdat die natuurlijk snel zijn omgezet (eenvoudig in containers te gieten, geen hacks, ...).

Maar hoewel ikzelf meer developer ben dan designer, moet ik me meer aansluiten bij de menig van "Filip Bunkens". Je mag de creativiteit van de designer niet te veel gaan beknotten.

Een kleine nuance is natuurlijk wel belangrijk:
Je zal vaak bij complexere designs moeten inboeten aan SEO, snelheid van ontwikkelen (zoals al gezegd), etcetera. Het is gewoon zeer belangrijk alles per project te zien. Als er voldoende budget is voor een complex design is er geen probleem. Als dat er niet is, ben je gedwongen sneller -en dus eenvoudiger- te werken.
Glenn Veugen

Glenn Veugen zei 3 jaar geleden:

Hoewel Filip Bunkens een zeer goed punt aanhaalt, moet ik toch aanhalen dat de pure, creatieve designers niet meer van deze tijd zijn (tenzij er voor Flash interfaces gekozen wordt).

Creativiteit is een must, maar die creativiteit moet toegepast worden op een design dat ook goed zit qua gebruiksvriendelijkheid en marketingcommunicatie. Dan hoeven we het nog niet eens over de moeilijkheidsgraad voor de slicer te hebben. Die moet zich inderdaad wat kunnen schikken naar de creativiteit van de designer.
Voor de designers, en dat zullen ze ongetwijfeld zelf weten, is het de kunst om de balans tussen creativiteit en functionaliteit te vinden.

@David, wat betreft de lay-out van de forms, ik kan je de Jqtransform plugin wel aanraden: http://www.dfc-e.com/metiers/multimedia/opensource/jqtransform/
Filip Bunkens

Filip Bunkens zei 3 jaar geleden:

@David: Even een klein ander punt, maar waarom moeten we blijven zorgen dat alles werkt op IE6. Wordt het niet eens tijd dat we die browser naar de browserhemel/hel laten gaan? We houden toch ook geen rekening meer met firefox 1 of IE op mac? Ik weet wel dat er nog veel bedrijven IE6 gebruiken, maar je kan ook niet blijven ontwikkelen voor mensen/bedrijven die niet willen upgraden.

@Koen: Ik vind niet dat je bij complexe designs moet inboeten aan SEO, want search-engines houden geen rekening met html of css tags, maar met de structuur van je document. Als je een valid W3C doc maakt, dan is je SEO perfect in orde. Ik moet trouwens zelden mijn basis van elke pagina aanpassen voor een design.
Snelheid van ontwikkelen is ook relatief, ik heb zelden of nooit een design gehad dat ik niet op 1 werkdag kon slicen. Zolang het aangeleverd wordt in PSD met benoemde layers, tenminste.

@Glenn: ik ben niet akkoord, er zijn zeker nog wel creatieve designers kijk bijvoorbeeld maar eens naar de sites van Tim Vandamme, Elliot Jay Stocks, Jon Hicks, enz... Zij maken geen flash designs, maar valid html docs met zeer creatieve lay-outs en zeer leuke extra features.

Ik wil hier zelfs een statement maken: ik slice om het even welke design voor diegene die wil en als ik het niet gesliced krijg in 8u, is de slicing volledig gratis. De enige vereiste is dat je mij een PSD aanlevert, waar alles instaat en benoemd is. Deze design zal crossbrowser werken (zelfs IE6)
Chris Ramakers

Chris Ramakers zei 3 jaar geleden:

@filip: de reden waarom we IE6 nog niet laten vallen is simpel. Om dat we nog niet bereid zijn om 16% van alle bezoekers een minder functionele of attractieve website te tonen. Ik persoonlijk vind dat IE6 usage tot onder de 5% zou moeten zakken voor we echt kunnen spreken van het negeren van deze users, 16% is te veel, dat zijn 160 bezoekers op 1000 unieke en dat is veel. Maar het is niet de bedoeling om hier een 'drop IE6' discussie van te maken :)
Bron: Browser Market Share
David Candreva

David Candreva zei 3 jaar geleden:

@Filip: Het zijn niet alleen bedrijven die IE6 gebruiken maar ook de gewone gebruiker die niet eens weet wat een browser is. Ik ben van mening dat die mensen ook het recht hebben om een website te mogen bezoeken. Als je op een website zoals bv. Pukkelpop IE6 niet meer zou ondersteunen dan zal je al snel een hoop klachten ontvangen als je weet dat 56% van de bezoekers IE gebruikt en 17% daarvan nog IE6 heeft.

Op één werkdag heb je de meeste designs gesliced. Echter heb je soms gedetailleerde websites waar je meer tijd in moet steken voor als je achteraf tijd wilt besparen. Denk dan aan meertaligheid, verschillende kleuren, verschillende menu's, verschillende zoekforms, etc..

Een design Cross-browser krijgen voor IE6 is net de enige uitdaging die je hebt als slicer.
Filip Bunkens

Filip Bunkens zei 3 jaar geleden:

Ik heb niet gezegd dat we IE6 volledig moeten droppen maar een minder fancy versie maken voor IE6 is ook een optie. 1 waar iedereen wel alle info en functionaliteiten heeft maar niet alle fancy design stuff. Dit is toch ook zo voor mobile browsers, dus waarom zou dat niet perfect kunnen voor IE6 gebruikers?

@David tuurlijk moet je af en toe iets meer tijd steken in details maar dat is net de bedoeling van een slicer. Maar als je basis slicimg af is op 6u dan heb je nog 2u om alle andere details op te vangen. Want heel dikwijls zijn dat enkele extra regels in je css. Je voegt een extra class toe en de meertaligheid is ook gestyled.

Btw IE6 is niet de uitdaging voor een slicer daar zijn veel hacks voor. Een inconsistente rendering tussen BV FF en safari is de uitdaging en het goed omzetten van een design van psd naar html is de uitdaging van een slicer.
Davy De Pauw

Davy De Pauw zei 3 jaar geleden:

@filipbunkens: ik weet een heel aantal designs die je niet op 8 uur zou kunnen slicen, toch niet als je het goed zou doen: met sprites, modulaire CSS en met oog voor performatie...

Het gaat hem niet om een design snel te slicen, maar vooral om kwaliteit te leveren. En of dat nu op 8u kan, of 10u, dat is niet de essentie. Beter meer tijd steken in de eerste pagina die je template zodat je nadien veel sneller de overige pagina's kan opleveren.

Het marktaandeel van IE6 is voor ons nog te hoog om het te droppen. Bij veel projecten wordt daar nog expliciet naar gevraagd (klanten die zelf nog kijken in IE6, of grote bedrijven waar ze noodgedwongen nog op IE6 werken).

De algemene conslusie van @media 2009: 'Do websites need to look the same in every browser?' 'No!'

Dus het principe van graceful degradation kan hier van toepassing zijn, of Andy Clark's universal IE6 CSS.
Danny Calders

Danny Calders zei 3 jaar geleden:

Ik ben - in tegenstelling tot sommigen hierboven - wel van mening dat een webdesigner moet weten hoe een webpage in elkaar zit. Een webdesigner moet voor mij ook HTML en CSS kennen, belangrijker nog dan Photoshop.

Dit heeft helemaal geen negatieve invloed op creativiteit of originaliteit. Je moet de beperkingen van je medium kennen en daarbinnen werken.

Vergelijk het met printdesign: daar heb je te maken met vaste afmetingen, typografische regels, layoutregels, maar ook meer technische beperkingen: je papier (en bijhorende eigenschappen zoals absorbtie, glans, bleeds, crops,...), je drukmethode, etc...

Wat de aangeleverde files betreft, vergelijk jezelf als slicer in deze vergelijking dan ook met een drukker: indien je files ontvangt die niet in het juiste formaat zijn, waarvan layers niet gegroepeerd of benoemd zijn, fonts gebruikt zijn die je niet hebt, kleuren niet gespecifieerd zijn, etc... stuur je die gewoon terug!
Hans

Hans zei 2 jaar geleden:

Persoonlijk ben ik van mening dat kennis van HTML/CSS een must is. Een design is geen webpagina. Ook ben ik van mening dat het onbegonnen werk is dat een design correct wordt weergeven in iedere browser. Sterker nog, daar wil ik maar al te graag een weddenschap of afsluiten.

Ik gebruik nogal wat CCS3 technieken. Handig voor rounded corners, glows, drop shadow, transparency. Geen IE versie die dat snapt. Daarvoor gebruik IE filters. En zolang de pagina in basis correct wordt weergegeven door IE, met misschien een schaduwtje minder, who cares?

Degrading gracefully, zoals het proces heet.

Reageer op dit artikel

Toegelaten tags: <a href="" title=""> <code> <em> <strong>

RSS Feed

Bekijk alle tags

Laatste reacties

  • Fabio Maggio: @Tom Claus: bedankt!
  • Tom Claus: @Filip Bedankt voor de tip, CouchDB gaan we zeker even mee bekijken. @Fabio Deze...
  • Fabio Maggio: Is die presentatie van Masterizing PHP Data Structure ook nog ergens te bekijken?
  • Tom Hermans: Thx Tom, schone samenvatting en een massa interessante links, ideaal voor mensen die die dag...
  • Filip Stas: Als MongoDb je al boeit zeker ook eens kijken naar couchbase ook zeker de moeite!