Xavier Bertels

I’m Head of Product at Phished. Previously CPO at SweepBright and co-founder of Mono.

Grote Kuis

“Griep.”, zei de dokter. En dus zat ik ermee afgelopen woensdag. Eigenlijk de nacht voordien al: met volle overgave mijn maag tot op de bodem geledigd. Alles eruit. Grote kuis.

Ik was gebonden aan zetel en bed: té misselijk om fysieke inspanning te doen. Met een boek dansen of mezelf droogstaren op een computerscherm ging evenmin. Het enige wat ik kon doen was denken. Lang en gefocust. Dat was blijkbaar een tijd geleden, want ik realiseerde me dat mijn hoofd ongeveer even overhoop lag als mijn lichaam. Nu en dan moet daar ook eens schoongemaakt worden.

De shitload aan overbodige informatie die ik tegenkwam was confronterend. Ik wou daar van af. Helaas is mijn hoofd geen maag die ik met een druk op de knop kan leegmaken en dus besliste ik dat er een aantal dingen moesten veranderen:

  1. Minder registreren
  2. Minder bewaren
  3. Meer naar buiten halen

Daarom hou ik nu grote kuis:

  • Op informatiedieet: 30 dagen geen sociale media, geen nieuws en éen keer per dag mail checken.
  • Oude kleren en spullen naar de Kringwinkel brengen: heerlijk gevoel! De emotionele waarde overstijgt nooit de mentale moeite die het kost om ze te bewaren.
  • Digitale reboot: 1-op-1 backup gemaakt van mijn harde schijf een een clean install van Mountain Lion gedaan. Als ik een bestand écht nodig heb haal ik het systematisch van m’n backup.
  • Writing skills oprakelen: digitale pen van onder het stof halen en schrijven, schrijven, schrijven!

Ik wens u ook een griep. Werkelijk bevrijdend.

The Responsive Image Solution Does Not Belong in HTML

I love the debate and the enthusiasm being shown to find an answer to the responsive images conundrum. People are trying to get shit done and I like that attitude because we need a solution to this problem. But the question is whether we want to introduce something in HTML that we will probably regret in the future.

Current Situation

To be clear, there currently are a couple of different proposals popping up at WHATWG and the W3C, of which the two most popular syntaxes are:

<img src="face-600-200@1.jpg" alt="" set="face-600-200@1.jpg 600w 200h 1x, face-600-200@2.jpg 600w 200h 2x, face-icon.png 200w 200h">

and

<picture alt="">
    <source src="mobile.jpg" />
    <source src="large.jpg" media="min-width: 600px" />
    <source src="large_1.5x-res.jpg" media="min-width: 600px, min-device-pixel-ratio: 1.5" />
    <img src="mobile.jpg" />
</picture>

Two Problems, not One

The way I see it, having read through the proposals and a lot of (but not all) comments, there are two very different problems being mixed up: 1) available bandwidth and 2) viewport size. Both problems should be tackled with different solutions.

Problem One: Bandwidth

In my opinion, the bandwidth problem is not something that we should try to solve in a markup language. It is something that should be handled by the client/image format itself. Progressive JPG files actually already kind of solve that problem in a very good manner—although we could benefit from better implementation. A browser (or whatever client you use to fetch data) is much more fit to decide whether it should download the high-res (complete) version of an image, or stop downloading the image after n passes/amount of data has been transmitted. That has absolutely nothing to do with viewport size. And seriously, who wants to save low-, medium- and high-res versions of every picture they have on their server? Imagine what a clusterfuck of image files that becomes when you also cater to viewport size . . .

Problem Two: Viewport Size

Concerning the viewport size, metadata is much more fit to tackle the problem. It could, for instance, make a lot of sense to use a different crop of the same image on a small screen and use the full crop on a big screen. But again, I am not sure whether that kind of descriptive info really belongs in HTML.

Essentially, what you’d want is a separate meta-file (xml, maybe?) that describes the different crop points of the image, much like SVG describes beziers–but unlike SVG in that it doesn’t describe itself. That way, image editing software can be used to define the crop points and generate and maintain that file, separate from the HTML document. And also that way, you can do some awesome backwards-compatible stuff like:

Of course, we’d have to think a bit harder about the syntax, possible use cases and things like optimization. But I just really, strongly believe that this does not belong in HTML itself.

This is partly taken from a discussion at a W3 Community Group about responsive images

Van 2011 naar 2012

Het afgelopen jaar was een erg bewogen jaar voor mij. Sinds juni heb ik mijn diploma Bachelor of Arts in de beeldende kunsten — Afstudeerrichting Grafisch Ontwerp op zak. Whoop! Maar dat was niet genoeg natuurlijk. Ik wil ook graag mijn Masterdiploma behalen. Niet zo zeer om wille van het diploma—dat betekent namelijk niet zo veel in mijn wereld—maar eerder omdat er enkele interessante docenten zijn waarvan ik nog wat kennis wil stelen.

Masterjaar en stage

Om aan de Media & Design Academie (ondertussen MAD-Faculty) een masterdiploma te behalen moet je twee maanden stage lopen bij een bedrijf uit de grafische sector. Ik besloot om twee stages te doen: twee maanden bij Duval Guillaume in Brussel en twee maanden bij Netlash-bSeen in Gent. Beide aanvragen werden goedgekeurd. Duval Guillaume zou net een erg turbulente periode ingaan en de communicatie werd een beetje slordig, waardoor ik uiteindelijk besloot om het bij éen stage te houden. Je kan veel aflezen uit de communicatie van een bedrijf. Vooral bij Netlash-bSeen werd alles vrij snel en netjes geregeld. I like.

Tijdens mijn stage bij Netlash-bSeen mocht ik aan diverse designprojecten werken: van een Fork Theme via infographics over een iPad optimized Web App tot echte klantenprojecten. Niet alleen koffie halen voor de baas dus. Na enkele weken stage moet Bart mijn koffie zo goed gevonden hebben 1 dat hij mij een baan aanbood. Niet als koffiejongen, maar als designer-frontender. I like.

I like it a lot. Zo veel zelfs dat ik na enkele weken overpeinzen op zijn aanbod ben ingegaan. En dat is de reden waarom ik nu af en toe op foursquare incheck in Gent. Maar ook nog in Hasselt. En binnenkort weer in Genk. Want ik ben zo’n kuiken dat probeert te bewijzen dat zotte plannen wél kunnen slagen. Dus spendeer ik mijn vrije avond- en weekenduren aan het behalen van mijn Masterdiploma. Aan mijn vrienden en familie die ik de laatste tijd niet veel gezien heb: bij deze geen excuses, maar toch een verklaring.

Werk

Sinds oktober woon en werk ik dus bij Netlash-bSeen. Hehe, even opnieuw: sinds oktober woon ik in Gent en werk ik bij Netlash-bSeen. Maar soms lijkt het anders: de collega’s zijn aangenaam en gedreven, de werksfeer is gezond druk en de bazen spelen tactische spelletjes. Dat klinkt zoals thuis.

20111228448.jpg

Het werk zelf? Dat is top-notch: leuke klanten, een duidelijke visie die nauw aansluit bij hoe ik het web zie en mensen die stuk voor stuk goed zijn in hun vak en elkaars werk appreciëren en respecteren. More of that any day, please!

2012

Dat brengt mij in 2012. Wat zal er komen? In de eerste plaats kan ik hopelijk mijn Masterproef, Sociaal Project en andere Master-gerelateerde projecten succesvol afronden. Daarnaast wil ik nog een stuk van de wereld zien. En ten slotte wil ik weer wat meer bloggen over vanalles. Omdat vakjes saai zijn.

1. In werkelijkheid heb ik niet één koffie moeten brengen. En die infographics, dat was met plezier!

Quick Tip: make CSS colours short-hand with RegEx

So here is a little Quick Tip to make your hex value colours in CSS short-hand with the Find & Replace function of your text editor and a little RegEx magic.

Find String:
#([0-9a-fA-F])\1([0-9a-fA-F])\2([0-9a-fA-F])\3

Replace String:
#$1$2$3

Of course, the Find & Replace function in your text editor must accept Regular Expressions for this to work.

But what does it do? Here is the RegEx broken down in pieces:

#([0-9a-fA-F])\1
Search for a string starting with the exact character #

#([0-9a-fA-F])\1
Search for a single character that is either an uppercase or a lower case digit or letter in the range 0-9 and a-f. Putting the search string […] between ( and ) makes it a group that we can reference.

#([0-9a-fA-F])\1
Back-reference the previous search group between ( and ) and repeat it. Note: the 1 does not mean “repeat it once”. It is the index number referring to the first RegEx group: the entire RegEx string between ( and ).

So if you search for #([0-9a-fA-F])\1 you will find the strings like: #aa, #ff, #99, #00.

The other parts are simply a repetition of the same core idea, but with the back-reference index numbers referring to their respective groups:

#([0-9a-fA-F])\1([0-9a-fA-F])\2([0-9a-fA-F])\3

The Replace String #$1$2$3 simply references the previously found groups with their respective index number. Since a group is everything between ( and ), it will replace the entire string with only the single characters that were found within that group, thus [0-9a-fA-F].

So it will find #aa55ff and replace it with #a5f. Pretty awesome, right?

Obviously, this is nothing ground-breaking, but I just thought I’d show you an example of what you can do with Regular Expressions. It is a very powerful, yet often overlooked tool that, once understood, can make your life as a Web Designer a little easier.

Dare to be Bold

A recent blog post on Viget Inspire made me think. A lot of web designers are using the same typefaces on different projects. Probably due to the lack of availability of good typefaces in the past. The implementation of @font-face has changed all that. And now I can see a lot of designers using the same @font-face typefaces in their projects.

As Erik Spiekermann has implied: branding is basically a colour in combination with a typeface. Using the same @font-face typefaces in every project won’t do anybody any good. If the brand you are designing a website for does not have a typeface they are using consistently, at least go through the trouble of selecting something other than one of the last five typefaces you used. Otherwise, you may just as well stick with Helvetica, Verdana or Georgia and save us from downloading Museo again—as a figure of speech; there is nothing wrong with Museo.

I can hear you yelling “Budget, budget!” but there are more than enough decent resources out there. You just need to take one hour of your time to select something appropriate for the project at hand. Dare to be bold and do more than is expected of you. Especially on small projects.