Naar de inhoud

Blog

  • 27 jan 2012 p.mijnen

    Parallax scrolling website

    vrijdag 27 januari 2012

    Als afsluiting van mijn stageperiode als frontend webdeveloper moest ik een afstudeeropdracht uitvoeren. Aangezien a&m impact altijd op zoek is naar de nieuwste technieken en mogelijkheden, kreeg ik de mogelijkheid om een parallax website te ontwerpen. Dit leek mij een leuke en leerzame uitdaging en heb deze met beide handen aangegrepen.

    Parallax?

    Parallax is een nieuwe techniek die het mogelijk maakt om verschillende lagen onafhankelijk van elkaar te laten verschuiven. Ze worden door elkaar overlapt. Dit kan aan de hand van de scroll positie of de muispositie binnen de site. Hierdoor krijg je een mooi 3D effect. Een mooi en bekend voorbeeld is www.nikebetterworld.com.

    Hoe werkt parallax?

    Stel je wilt de achtergrond verplaatsen op het moment dat er gescrold wordt, dan wordt er de volgende functie gebruikt (stukje wiskunde):

    function newPos(x, windowHeight, pos, adjuster, inertia){
    return x + "% " + (-((windowHeight + pos) - adjuster) * inertia)  + "px";
    }

    Uitleg:
    •    x = the horizontale positie van de afbeelding
    •    windowHeight = de hoogte van je browser
    •    pos = de positie van de scrollbar
    •    adjuster = de waarde waarmee je de uitkomst wilt corrigeren
    •    px = met hoeveel pixels de afbeelding moet scrollen

    Vervolgens wordt er aan de hand van de volgende code de positie berekend:

    photo.css({'backgroundPosition': newPos(50, windowHeight, pos, 3200, -0.1)});

    Daarbij komt de volgende uitkomst: background-position: 50% 25.4px;
    Telkens dat er gescrold wordt komen er een aantal pixels bij.

    Hoe ben ik te werk gegaan

    1: Analyseren en voorbereiding
    De eerste fase bestaat uit het bekijken en analyseren van verschillende websites. Van daaruit heb ik bekeken wat de beste mogelijkheden en oplossingen zijn.

    2: XHTML
    Na het analyseren van een aantal websites heb ik een ontwerp gemaakt en omgezet naar XHTML. Deze heb ik zo opgebouwd zodat dit gaat werken met het parallax effect.

    3: De opmaak
    De opmaak wordt gemaakt in CSS(3). In de CSS geef ik het pad van de achtergrond afbeeldingen aan waarbij jQuery de positie regelt aan de hand van de scroll positie.

    4: Parallax
    De jQuery, hier gebeurt het allemaal. Op het moment dat er een div binnen de browser wordt getoond begint het verplaatsen van de achtergrond. Dit heb ik gedaan door de genoemde code te gebruiken bij het voorbeeld.

    Tot slot

    Over het eindresultaat ben ik zeer tevreden en dat mag ook wel met een eindcijfer van maar liefst een 9. Ben jij ook benieuwd? Hij is te bewonderen op http://pascalmijnen.am-impact.nl

  • 10 jan 2012 Jan Aukema

    Browser Trends

    dinsdag 10 januari 2012

    BrowsersTegenwoordig gebruiken mensen steeds meer verschillende browsers. Te denken valt aan Google Chrome, Mozilla Firefox en OS X Safari. De toename van het aantal verschillende browsers is mede te danken aan het toenemend gebruik van mobiele apparaten zoals smartphones en tablets. Ook is de ontwikkeling in de verschillende browsers groeiende en wordt er steeds vaker een nieuwe versie van een browser uitgebracht.

    Bij a&m impact zorgen wij ervoor dat al onze sites en shops op de meest bekende browsers draaien en houden deze trends derhalve ook nauwlettend in de gaten. Op onze platformen zien we dat de meest gebruikte browser nog steeds Microsoft Internet Explorer is. Inmiddels is Internet Explorer (IE) al weer toe aan versie 9 en wordt er al druk ontwikkeld aan versie 10.

    In dit overzicht is te zien dat welke browsers in de afgelopen jaren afgenomen en toegenomen zijn.

    Browser trends platform a&m impact

    Je ziet hierin heel duidelijk de afname van IE8 met de komst van IE9. Ook opvallend is de constante groei van Google Chrome en Safari. IE7 daalt gelukkig ook, maar in onze ogen nog lang niet snel genoeg, aangezien we die zo snel mogelijk zouden willen uitfaseren.

    Bij a&m impact willen wij natuurlijk zo snel mogelijk mee met de laatste technologieën en mogelijkheden in browsers, maar mogen daarbij niet oudere browsers uit het oog verliezen. Het uitfaseren van browsers wereldwijd gaat soms tergend traag. Een goed voorbeeld hiervan is Internet Explorer 6 (van 27 augustus 2001, meer dan 10 jaar oud!!)

    Microsoft wil ook graag verder en voert een sterk ontmoedigingsbeleid van haar eigen, bejaarde browser. Ze hebben het gebruik van IE6 wereldwijd mooi in kaart gebracht:

    Hier is te zien dat het gebruik van Internet Explorer 6 in China nog erg hoog ligt (boven de 25%) en in de VS is het gebruik gedaald tot 0.9%. In Nederland is dit nog maar 1.1%.

    Ook is te zien dat het gebruik van Internet Explorer 6 sterk is gedaald sinds 2010.

    Te hopen is dat in ieder geval het gebruik van Internet Explorer 6, maar ook andere verouderde versies van browsers ook in 2012 verder afneemt. Welke browser heeft jouw voorkeur? Gebruik jij nog ergens IE6? Waarom?

     

  • 7 dec 2011 Denver Sessink

    HTML5 gecertificeerd

    woensdag 7 december 2011

    HTML5, een veel gebruikte term in 2011 maar bovenal een nieuwe standaard om webpagina’s op te maken. Deze nieuwe standaard heeft een vlucht genomen sinds Internet Explorer 9 in de wereld is. Voor ons, als webprogrammeurs, betekent het dat we achter de schermen druk bezig zijn om deze nieuwe technieken te ontdekken.

    1 van de vele voordelen van HTML5 is dat we audio en video in webpagina’s kunnen implementeren zonder dat er extra software (bijv. Adobe Flash Player of Silverlight) is vereist voor de gebruiker, en dat we met 1 implementatie zowel desktop als mobiele gebruikers kunnen bedienen. Er is 1 maar; Video en audio kunnen worden gecomprimeerd in verschillende formaten (codecs). Helaas zijn de browsermakers van Internet Explorer, Firefox, Safari en Chrome het niet helemaal eens over de formaten in verband met patenten. Resultaat is dat verschillende browsers verschillende codecs ondersteunen.

    Sinds kort ben ik in het bezit van een officieel HTML5 certificaat van het W3C (de maker van de HTML5 standaard)! Na 5 weken theorie en 5 deel-opdrachten heb ik o.a. geleerd welke formaten je moet ondersteunen om zo’n breed mogelijk publiek te bedienen, heb ik geleerd hoe je video kunt integreren met andere elementen op de pagina, zelf een interface gemaakt om de video en audio af te kunnen spelen en heb ik de nieuwe standaard voor ondertiteling geïmplementeerd. Na deze 5 goedgekeurde opdrachten ben ik in het bezit van de officiele HTML5 Audio & Video certificering.

    Hieronder een plaatje van mijn opdracht:

    Uitwerking van een HTML5 video en audio element, inclusief WEBVTT ondertiteling en spiegeling d.m.v. het canvas-element.

    Uitwerking van een HTML5 video en audio element, compleet met preload-indicator, voortgangs-indicator, WEBVTT ondertiteling en spiegeling d.m.v. het canvas-element.

  • 13 okt 2011 Niek Weevers

    Fronteers 2011

    donderdag 13 oktober 2011

    Net als vorig jaar hebben we ook dit jaar weer het Fronteers-congres bezocht. Dit vond afgelopen donderdag en vrijdag (6 / 7 oktober) plaats in het Tuschinski theater te Amsterdam.

    Hieronder een korte impressie van de interessantste onderwerpen die werden besproken.

    Donderdag

    ‘s Ochtends stond er al vroeg een lange rij voor de ingang te wachten. Na het ophalen van de toegangsbewijzen, goody bags en de eerste bak koffie kon het geheel beginnen.

    Het congres werd geopend met een interessante presentatie van Aral Balkan, ” The future is native” genaamd. Het doel van presentatie was vooral om duidelijk te maken dat het onderscheid tussen een Native (specifiek voor het platform geschreven) en een Web applicatie aan het verdwijnen is. Een aantal mensen uit de community zijn hier te fundamentalistisch over en dat is volgens hem niet nodig. Verder gaat het aantal diverse apparaten wat toegang gaat krijgen tot web-content (door een native of webapplicatie) behoorlijk toenemen en is het een utopie om te denken dat je maar 1 keer een applicatie of vormgeving hoeft te maken, “write once”, maar vaak testen en optimaliseren zijn noodzakelijk. Volgens Aral zou niet de techniek, maar de ervaring voor de gebruiker leidend moeten zijn. Een front-end developer moet vooral vanuit een mens denken en niet teveel vanuit techniek of features.
    Aanvullende info is hier te vinden: http://futurefriend.ly/

    Derek Featherstone liet ons naar een website kijken door de ogen van een screenreader. Het is namelijk erg belangrijk dat ook mensen met een beperking een site kunnen bezoeken. Dat werkt nu nog te vaak niet goed. Daarnaast gaf hij een aantal voorbeelden van het verkeerd gebruik van tab-indexen op formelementen en gaf hij aan wat het meest logisch is voor de gebruiker en een eventuele screenreader. Ook sprak hij over ARIA en hoe je deze nieuwe attributen vooral niet moet gebruiken…
    Meer info: http://examples.furtherahead.com/

    Lea Verou had een erg interessante presentatie over CSS3. Ze vertelt dingen waarvan maar weinigen weten dat het mogelijk is . Zo laat ze zien welke achtergrond patronen je kan maken alleen met CSS3! ( http://leaverou.me/css3patterns/ ). Daarnaast een trucje om meerdere borders om een element te plaatsen met box-shadow. Verder nog een animatie techniek die “cubic-bezier” heet en is bedoeld om het verloop van een animatie te beinvloeden. Een tooltje hiervoor is te vinden op: http://cubic-bezier.com/#.17,.67,.83,.67. Jammer voor ons is dat de besproken mogelijkheden nog niet breed ondersteund wordt door de huidige browsers. Meer info: https://github.com/LeaVerou/CSSS

    Uiteraard kwam HTML5 ook nog aan bod. Bruce Lawson vertelde op een erg grappige manier over de wat minder bekende tags binnen de HTML5 standaard en hun semantische betekenis. Semantiek houd vooral in dat het betekenis toevoegt aan een document. Hij benadrukte dat HTML5 tags een einde zou kunnen maken aan de wildgroei van diverse ID en classnames, die aan betekenis weinig toevoegen aan een webpagina. oa. de <ruby>, <bdi> en <figure> tags en had hij het over “sectioning” binnen content.

    Stephen Hay sprak over de mogelijkheid om een webpagina meer op te laten maken als een krant of magazine. Binnen traditionele DTP pakketten is dit al heel lang mogelijk, maar web/frontend development loopt nog achter. Adobe is al bezig om mbv regions dit voor elkaar te krijgen.
    Daarnaast vertelde hij over exclusions. Hiermee is het mogelijk om tekst in bepaalde vormen weer te geven. (zie afbeelding hiernaast) Ook hiermee zullen we waarschijnlijk nog een aantal jaar moeten wachten voordat het standaard is in de meeste browsers.

    Tab Atkins werkt bij Google aan de browser Chrome en is lid van de CSS3 Working Group. Hij liet een aantal coole dingen zien. Zo is het mogelijk om HTML elementen te gebruiken als achtergrondafbeelding. Het invoeren van variabelen binnen CSS files was erg interessant, hiermee word het mogelijk om bijvoorbeeld een kleur 1 keer te definieren, wat het overbodig maakt om dmv. find and replace alle kleuren te moeten vervangen. Ook het gebruik van de calc functie in CSS klinkt veelbelovend. Tof om te weten dat er nieuwe dingen aan komen.

    Vrijdag

    De vrijdag beloofde een interessante dag te worden, waar we vooral uitkeken naar de sessie CreativeJs (animaties in de browser).

    De dag begon met een presentatie van Alex Russell, een developer van Google. Het was meteen een presentatie om je aandacht er goed bij te houden, want het was vrij ingewikkeld. Hij focuste met name op het kijken in de toekomst. Het was wel duidelijk dat hij niet echt gecharmeerd was van hacks en manieren om nieuwe technieken te kunnen gaan gebruiken om ook oudere browsers te ondersteunen. Een klein puntje wat hij aanhaalde viel me op, namelijk het gebruik van scoped css. Dat is css die je in je element zet en die dus alleen wordt gebruikt voor de inhoud van dat element.

    De volgende die het podium op kwam heet Divya Manian. Ze werkt bij Opera en werkt mee aan de html5boilerplate. Ze gaf een toffe presentatie over de workflow van nu in vergelijking met die van enkele jaren geleden.
    10 jaar geleden was het web veel statischer en het grootste probleem van een ontwikkelaar was het kiezen van het juiste element voor hetgeen je wilde bouwen (bij wijze van spreken).
    Nu zijn er zoveel mogelijkheden (met veel dynamiek) waardoor Photoshop eigenlijk niet eens meer een goed ontwerp-tool is. Want een statisch plaatje is niet meer representatief voor wat bezoekers uiteindelijk voor ervaring krijgen bij het bezoeken van de website, door animaties, interacties en de rest.
    Hierop volgend liet ze een scala zien aan tools die een must zijn voor developers en hoe ze te gebruiken zijn. Al met al een boeiende, leuke presentatie.

    Robert Nyman was hierna aan de beurt en ging presenteren wat met HTML5 in combinatie met formulieren mogelijk was. Een korte presentatie (half uurtje), waar al wel veel voor ons bekende zaken in naar voren kwamen.

     

    En toen kwam Seb Lee-Delisle (oa oprichter van creativejs.com), met een presentatie over creatief met javascript. De sessie was in twee delen opgesplitst. Het eerste deel liet hij ons zien hoe je heel simpel met ‘particles’ toffe effecten kan maken, bijvoorbeeld het laten lijken of er rook uit de cursor komt. Was erg leuk om te zien en het prikkelde je heel erg om hier meteen mee te gaan spelen. Gelukkig heeft hij de code die hij gebruikte in de presentatie op github neer gezet. Het tweede deel van de sessie was nog mooier. Hij vroeg iedereen die in het bezit was van een Android of iPhone naar een website te gaan, waardoor hij de telefoons kon gaan bedienen. Bij iedereen sprong de telefoon op groen, op deze manier was elk mobiel een pixel. Door de camera op het podium konden we dit goed zien op het grote scherm achter op het podium. Vervolgens ging hij de telefoons laten switchen van kleur, waardoor je animaties kreeg in het publiek . Erg gaaf ondanks enkele crashes van het systeem.

    John Resig is de de oprichter van jQuery, de javascript-library waar wij veel mee werken. Hij gaf een goede presentatie over het succes van jQuery en hoe dit succes tot stand is gekomen. Dit was niet bedoeld als verkoop-praatje, maar vooral als advies naar iedereen. Schrijf duidelijke documentatie (ga er vanuit dat gebruikers er niks van begrijpen), wees 100% transparant over je product, de ontwikkelingen en behandel iedereen serieus. Wie weet op welke manier diegene je in de toekomst kan helpen.

    De meest nuttige presentatie van deze dag kwam van Jake Archibald. Hij kreeg makkelijk een uur vol over het gebruik van lettertypes in je site dmv @font-face. Hij behandelde tot in detail hoe de verschillende browsers om gaan met de implementatie en hoe je het laden van fonts kan optimaliseren.
    In combinatie met veel humor was het een zeer prettige presentatie om naar te luisteren.

    De afsluiter van de dag (en dus van Fronteers11) was net als vorig jaar Christian Heilmann, Developer Evangelist van Mozilla. Hij gaf een inspirerende preek over het gebruik van nieuwe technieken. Wij weten hoe het moet, dus moeten we het delen. Dmv bijvoorbeeld Github kun je elkaar helpen en aanvullen.
    Dus deel vooral kennis en zorg dat we met ons allen coole dingen gaan maken.

     

    Al met al was het een erg geslaagde dag. Ook geweest toevallig? Welke sessie vond jij het interessantst?

  • 21 sep 2011 Denver Sessink

    Kings of Code 2011

    woensdag 21 september 2011

    Jaarlijks wordt het Kings of Code congres gehouden in Amsterdam. Dè conferentie voor Web Developers. Een mooie gelegenheid voor ons om vakspecialisten te zien spreken over nieuwe technieken en systemen. Een goede zaak vind ik, omdat de ontwikkelingen in ons vakgebied nog steeds razendsnel gaan. Dit jaar was het de beurt aan Marco en mij om af te reizen naar de Keizersgracht in Amsterdam, en daar te luisteren naar sprekers over onderwerpen als NOSQL, Varnish, HTML5 en declaratieve applicaties. In dit artikel zal ik een aantal interessante sessies uitlichten.

    Declarative Applications door Steven Pemberton

    Steven PembertonSteven Pemberton komt oorspronkelijk uit Engeland en is momenteel onderzoeker bij het Centrum Wiskunde en Informatica in Amsterdam. Steven heeft een goed half uur gesproken over de geschiedenis en de toekomst van programmeertalen in het algemeen. De kern van zijn verhaal is dat programmeertalen in essentie zijn ontwikkeld voor computers. Niet voor programmeurs. In de jaren ’60 waren computers erg kostbaar, zeker in relatie tot programmeurs, dat programmeertalen zo efficiënt mogelijk met de processorkracht van computers om moesten gaan. Tegenwoordig is die verhouding andersom. Een computer is, relatief aan programmeurs, veel goedkoper en sneller geworden. Programmeertalen zijn daarentegen niet met die verandering meegegaan. We programmeren dus nog steeds dagelijks in programmeertalen die ontwikkeld zijn voor die computers.

    Tijdens de presentatie van Steven sprak hij over zogenaamde declaratieve applicaties. Applicaties die ontwikkeld kunnen worden door te vertellen ‘wát je wil‘ en niet ‘hóe je het wil‘. Het ‘hoe‘ is een taak van de programmeertaal, terwijl het ‘wat‘ een taak is van de programmeur. Deze, ogenschijnlijke kleine nuance, zorgt er in de praktijk voor dat je programmeurs zo efficiënt mogelijk in kunt zetten omdat computers relatief goedkoop zijn.

    Een interessante ontwikkeling waar we zeker nog meer van gaan horen!

    Varnish door Jeroen van Dijk

    Snelheid is een steeds belangrijker wordend aspect in internetland. Gebruikers krijgen snellere internetverbindingen en websites moeten steeds sneller laden terwijl ze steeds zwaarder worden. Iedere gebruiker verwacht dat een complete internetpagina binnen een paar seconden geladen is. Is Varnish de ‘high performance valhalla‘?

    Varnish is een relatief nieuwe tool die hulp kan bieden bij grote systemen om hun pagina’s te cachen. Het werkt als een reverse proxy, en kan veel snelheidswinst opleveren. Maar let op, dat doet hij niet standaard uit de doos. Je zult hem goed moeten configureren, en je verschillende opstellingen goed moeten testen voordat je conclusies kunt trekken. Interessant genoeg om eens te onderzoeken in ieder geval; de door Jeroen gepresenteerde resultaten zijn veelbelovend.

    HTML5 door Chris Heilmann

    Chris is een bekende spreker in ons vakgebied. Hij is Principal Developer Evangelist in dienst van Mozilla, en gaat in principe de hele wereld over om te spreken over o.a. HTML5. Iets dat je overigens ook wel merkt aan zijn presentaties. Chris weet een enorm goed (technisch) verhaal in een humoristische verpakking over te brengen. Leuk om bij te wonen!

    In de presentatie verteld Chris welke mogelijkheden HTML5 bied aan backend developers. In eerste instantie denk je niet aan backend als je denkt aan HTML5, maar Chris geeft een aantal goede argumenten om daar wel aan te denken.

    Een ander groot verschil is dat browservendors (Microsoft, Opera, Google, Mozilla en Apple) tegenwoordig samenwerken i.p.v. elkaar tegen werken. Voor ons als webdevelopers een heel goede ontwikkeling omdat moderne generaties van browsers tenslotte dezelfde standaarden ondersteunen.

    HTML5 is een verzamelnaam voor de vernieuwde HTML specificatie versie 5 (wat overigens niet HTML4 +1 is), nieuwe animatie en rotatiemogelijkheden d.m.v. CSS3 en o.a. nieuwe mogelijkheden als alternatief voor bijvoorbeeld cookies. HTML5 is de nieuwe standaard die websites en webbouwers naar een nieuw en hoger niveau gaat tillen. Ein-de-lijk, kan ik wel zeggen!

    Dus…

    Hoewel niet alle presentaties evenveel nieuws voor ons te bieden hadden, hebben we toch weer waardevolle informatie mee naar de Achterhoek genomen. Nieuwe technieken zijn aan de orde van de dag, en door naar deze sprekers te luisteren (en vragen te stellen) is het voor ons eenvoudiger om te kunnen bepalen of ze voor ons inzetbaar zijn. Ik vond het een waardevolle dag waar ik weer veel inspiratie heb opgedaan.

    Ben je ook op Kings of Code 2011 geweest, of heb je opmerkingen? Plaats ze hieronder!