It’s five years since I began work at Opera, the plucky Norwegian browser maker. Despite this appalling handicap, Opera’s gone from 48.6 million users in June 2008 to over 300 million users.
Doing my job, I’ve co-authored a book and had the privilege of visiting India, Indonesia, Japan, Australia, Netherlands, France, Spain, Russia, Poland, Bulgaria, Germany, USA, Czech Republic, South Africa, Denmark, Sweden, and (of course) Norway, and met some of the cleverest people in the industry.
I’ve gone from being a man who forced a corporate website to behave itself in IE6 every day (with only Firebug as my sword and a couple of forums as my shield) to someone who rarely makes full websites any more, but reads billions of emails about the next tranche of fascinating standards that take the web to new, ever more-powerful ubiquity.
Is Github racist? asks Terence Eden in linkbaiting mode. No, but “we should consider the practice of not supporting Unicode as outmoded and dangerous as assuming every year can be represented by a two digit number”.
CSS stacking with display:table – a way of moving blocks out of source order without Flexbox by HTML5 Doctor Ian Devlin. Not as powerful as Flexbox, but for the use cases it serves its terser and better supported.
Exposing privileged APIs to web content – “a discussion on the challenges we face in exposing privileged APIs to web content and a proposal for exposing such APIs to web pages by mitigating the risks inherent in doing so.” by Rich Tibbett
Resource Priorities – “Using the lazyload attribute on a resource will signal to the User Agent that it may want to lower the download priority of that resource”
The “When Can I Use” Web Widget -”include up to date information about browser support for a feature they are talking about based on the data crafted by CanIUse.com” (4K library).
Do not view source! says CyberTrial Lawyer’s user agreement (which I paraphrase as it forbids me from quoting it). View source is prohibited because they own the intellectual property on all of the code. Which may come as a surprise the the jQuery and WordPress teams
On Thursday, I travelled down to the swanky Mozilla offices in London to an open invitation to meet the W3C Technical Architecture Group (TAG), who were in town (presumably for this week’s Bilderberg meeting). I’ve met many of them before, and they’re all jolly good people, but I’d never met them as an entity.
I’d lugged my laptop down to take notes, as I’d anticipated some sort of relaxed presentation and then a public Q&A (by “relaxed” I mean, not live streamed and in front of the small 30-strong audience enjoying Google’s beer donation). It was unstructured, however, with TAG people mingling around and presumably answering the same questions repeatedly. (I’ve given this feedback to the co-chair, Dan Appelquist, already.)
I asked “What does the TAG do?” after Dan introduced the evening. Dan and TimBL answered that the TAG is an oversight body that ensures W3C specs kind of cohere, and kind of stay within the Architecture of the World Wide Web that TAG defined. Jo Rabin followed up with the question “how does TAG measure its success?” to which there was a less definite response. (However, the Web continues to do rather well, so arguably they haven’t broken anything.)
It’s good that the TAG want to meet developers. Tag member Jeni Tennison asked me what my pet peeve with the TAG is. I answered that there isn’t a representative of jobbing web developers on the team. Sure, there are some people who represent browser vendors on the team, but people like me don’t make web sites every day any more (if they ever did). I’m starting to feel that although lip service is paid to the needs of developers in the Priority of Constituencies, it’s pretty hard for a developer to get his/her voice heard.
working in web standards is incredibly frustrating. It involves no small amount of interaction with people who seem to have graduated from the Hacker News Commenter School of Diplomacy. We âauthorsâ donât hold much weight in standards discussions; at least, nowhere near as much as browser representatives do.
Now, do I think more full-time designers and web developers should get involved in standards, after all this glowing endorsement? Absolutely. The fact is, we donât have the kind of voice we ought to have because weâre not there. âAuthor preferenceâ is very often used to argue for or against something in a standards discussion, but very few of us are around to agree or disagree. Weâre a talking point more than weâre active participants.
The question is, what to do about it? Six years ago, the CSS Eleven announced with a fanfare that it was an organisation “committed to helping the W3C’s CSS Working Group to better deliver the tools that are needed to design tomorrow’s web”, made itself a lovely website and then promptly disappeared. I’ve certainly heard from developers and designers that it’s hard to do a full-time job, keep up with all the new developments and get actively involved in the time-consuming minutiae of standards development.
Perhaps we wound the Web Standards Project up too early. But I don’t think so. Perhaps we need someone embedded in the TAG who is paid by a benevolent employer to devote 50% of his/her time to standards while continuing to work. Perhaps we need someone paid by the W3C full-time to represent developers.
I lived in Istanbul for a couple of years and love the city enormously, so have been glued to the coverage of the Istanbul protests (revolution?) over the last few days.
It started out as a peaceful sit-in by some citizens who were angry over plans to redevelop one of the few remaining green spaces in the city (the population of which has increased tenfold between 1950 and 2000). Heavy-handed policing brought more people out into the streets. This cartoon (circulated by a Turkish friend) illustrates this well:
When I lived in Turkey (in the mid nineties) the police were a law unto themselves. Every month they’d come to the bar where we English teachers hung out to demand on-the-spot “fines” for our not having passports (they knew that the passports were taken away for weeks by the grindingly bureaucratic work permit authorities). When a bomb planted by the PKK (Kurdistan Workers’ Party) exploded, my Kurdish girlfriend hid in the house for a week; she explained that the police would beat or rape local Kurdish people. Forced virginity tests were common.
So what do the protestors in Istanbul, Ankara and Izmir want? It seems (bucking the comfortable Western narrative) that this group of young muslim people aren’t reactionary zealots. Sumandef, a Turkish woman writing in English on her blog post What is Happenning in Istanbul? says what many of those interviewed on TV and friends of mine say:
By so called «complaining» about my country I am hoping to gain:
Freedom of expression and speech,
Respect for human rights,
Control over the decisions I make concerning my on my body,
The right to legally congregate in any part of the city without being considered a terrorist.
To all who are protesting in Turkey (or anywhere else) against authoritarians who wish to tell us how to live our lives, I wish you safety, and success.
Here at Lawson Industries, we were excited to read the announcement by Fujitsu of their “Floral Kiss” brand of PCs for Women, with gold trim, a flip latch that can “easily open the displayâeven by users with long fingernails”, a power button “adorned with a pearl-like accent”, and outtake and intake vents “featuring a floral motif design”. Perfect for Jane Austen and other pre-Victorian ladies to write their delicate little novels.
Over the past 6 months, we’ve been working hard on a special “Tits ‘n’ sport” laptop, just for men.
The flip latch is easily opened, even by big hulking hairy chaps like TV extras from On The Buses, or Real Blokes with 6 pints of Stella inside them. The keyboard has been reduced to three buttons – “Tits”, which immediately connects to porn websites, “Sport”, which connects to sports websites and “I’m Free”, because our close examination of 1970s episodes of “Are You Being Served” shows that some slightly suspect men are effete and say that a lot.
Like the Fujitsu ladies’ laptop, which comes in Elegant White, Feminine Pink and Luxury Brown, this new masculine computer comes in Bell-End Purple, Skidmark Brown and Can’t-Separate-Colours-Before-Using-a-Washing-Machine Grey.
We’ll also be releasing a laptop for black people (the “Our Colonial Friends” edition) with enhanced sub-woofers on the speakers because those customers have natural rhythm.
This week’s reading list comes to you with a renewed vigour, and a zesty swagger in its stride, as several people sought me out at Google I/O to tell me how useful it is. Thanks for the feedback.
This is simply a list of stuff I’ve read this week, and posted links to over Twitter. However, I know that lots of real people don’t read Twitter all day, or it’s blocked at work, so this is an amalgamated list. Note that these links interested me, but I neither endorse them nor vouch for their accuracy.
Posthaven is a new blogging platform from co-founders of Posterous: “We’re not going to show ads. We’re not looking for investors. We’re going to make money the best way we know how: charging for it.”
At Google I/O last week, I was hoping to hear Google’s thoughts on responsive images. Every developer I speak to wonders how to send the right image size to browsers, Google is obsessed with performance, Peter Beverloo and Paul Kinlan were explicit in their talk Mobile HTML: The Future of Your Sites that web sites should request the correctly-sized images. But how?
The <picture> element seems to be at an impasse; no-one from Google showed any enthusiasm (nor does any other browser vendor, seemingly). That’s OK; when I dreamed it up 18 months ago it was a strawman to get the conversation going in standards groups (I’d previously been told that there was no need for any standard, as everyone would have huge devices on reliable, fast wifi in the future).
Google has proposed a Client Hints header with device resolution, viewport size, touch-enabled flag etc. The idea is that the server generates lots of different sizes of foo.png, and when a request comes for foo.png, the server looks at the Client Hints and sends the most appropriate size. Opera (and soon, Chrome) announces that it accepts webP images, so the server could intercept requests for foo.png and send foo.webp in its place for conforming browsers, thereby reducing bandwidth.
This server-side negotiation will be great for legacy pages as it means source code doesn’t need to be touched. I’ve heard it also touted as being much simpler to author, but I wonder about that; HTML isn’t hard to write, while implementing server-side image resizing and transcoding, intercepting headers, doing the negotiation and setting cache control is much harder for an HTML wrangler than writing HTML is. It also assumes everyone has full access to the server. Don’t forget that some uses of HTML (for example, ebooks) have no server.
But those are all for the future. What can you do now? Clever, but ultimately unsatisfying workarounds.
Firstly, have <img> with a dummy source, then replace the src with JavaScript once you know the dimensions and resolution of your device. This makes images dependent on JavaScript.
Alternatively, make your images into single-frame <video>s, and take advantage of media queries on the child <source> element to send differently sized images. Ian Devlin dreamed this up, and it’s evil genius – except that file sizes increase and <video> doesn’t have an alt attribute, so the “images” are therefore inaccessible.
A similarly inaccessible technique for webkit browsers is simply to use a <div> element instead of <img> and set an image-set background-image in CSS. Don’t do this; it’s inaccessible, and is single-engine.
The current best way is brilliant albeit somewhat hacky: Estelle Weyl‘s clown car technique. This uses a data-encoded SVG file, embedded using an <object> element. Unfortunately, there’s nowhere to hang alt text, and right-clicking to “save as” doesn’t behave as expected.
So that’s the interim report. Inaccessible and/ or single-engine, or JavaScript-dependant, or relying on server-side shenanigans which don’t address the important art-direction use-case.
Images are central to the web; we need a declarative HTML method to achieve them in our multi-device world.
I’ve done my part in suggesting a strawman, and although cleverer minds than mine tell me it’s a bad solution, in a year and a half no-one has told me what a good one looks like.
Here’s your reading list for the next 2 weeks – I’m off to Google i/o where I’ll be speaking at the “Web Platform Fireside Chat” 3pm (to 3.40pm) on the Friday, Room 5. Come and say hi if you’re going to San Francisco (be sure to wear some flowers in your hair).
Some very meaty stuff this week, so it’ll last you 2 weeks (next week I’m in Las Vegas for Future Insights Live conference – use the discount code âBruceâ to get 10% off the ticket price).
Web Standards
HTML5 VIDEO bytes on iOS Mobile devices by Steve Souders: “Mobile devices ignore all values of PRELOAD in order to avoid high data plan costs, and instead only download the video when the user initiates playback … However, my testing shows that iOS downloads up to 298K of video data, resulting in unexpected costs to users.”
blink-dev: Intent to implement lazy-block layout – “Developers can page in new content while the user is scrolling without fear of making the app slow as well … Our demo has a 4 second layout that’s reduced to 32ms with lazy-block.”
ptb/flexgrid: a flexbox-based CSS grid in 3.6k – “The flexbox layout is supported on Chrome, all versions of iOS, Safari 3+, IE 10+, Opera 12.10+, and Firefox 22+. Other browsers get the fluid Bootstrap 3 layout, except Internet Explorer 6 and 7 which use a fixed layout.”
Testing WebP compression for app icons – “Looking at the ratio of WebP file sizes to PNG file sizes ratio, we can see WebP constantly provides better results”
Stop standardizing HTML says Simon St. Laurent. It’s XML again, but without draconian parsing or schemas. Essentially, every web page has its own private vocabulary.
It’s about time: RuneScape dumps Java for HTML5 – “With more than 200 million RuneScape accounts and thousands online at the same time, RuneScape is a big reason for a lot of people not to uninstall Java”