2013 was a fun year. It saw my 5 year anniversary at Opera – which I actually missed when it came about, all the more surprising when I consider that I’ve never done one job for this long. (Previous records were Programmer/ Analyst at AT&T from 1988-92, Teacher at Amnuay Silpa School, Bangkok from 1996-2000 and Web bloke at The Law Society from 2004 until starting with Opera in ’08.)
As befits a tech company, I didn’t receive a carriage clock or gold watch. Instead, my CEO began following me on twitter. So now, I always wear a tie when tweeting. Just a tie.
Professionally it’s been an interesting and fun year. I got to visit Italy, Spain and Romania for the first time. Spain saw me in Barcelona twice, although the first time doesn’t really count as I was trussed up in a business suit and incarcerated at Mobile World Congress to leverage synergies in an aircraft hanger-sized conference venue. I have yet to go inside Sagrada Familia, so if any Barcelona conference wishes to have me in 2014, you know where to find me.
I also was invited to return to Scotland, Russia, Germany and The Netherlands and had the “fun” of two week-long trips to West USA in three weeks. Jetlag-a-rama. All worth it though, to mix with people who make the Web.
I’ve been spending time working directly with Opera’s desktop team. In 2013 we moved from using our own Presto rendering engine to using the open-source Chromium engine, and rethinking all of the features and UI. Results have been encouraging, but there’s more to do, so I’ve been working on gathering feedback, community engagement and planning next releases.
Working in products has been as interesting as I hoped it would be. Users talk very little about Web Standards – which has been my focus (=obsession) previously, but are very vocal about features and UI. I think this an encouraging sign for the Web generally; as browsers auto-update faster and rendering engines become more interoperable, there are fewer sites requiring specific browsers (although just as many breaking the web by requiring an iPad/ iPhone).
Due to the shocking revelations from Edward Snowden, In 2013 I’ve gone from the kind of person who mocked tinfoil hatters to someone who’s checking the signature of a Tails ISO. At Handheld Conference, my friend Aral Balkan announced IndiePhone, a new design-led, open-source Operating System and phone. I look forward to seeing how it develops, but fear that the tendrils of the NSA are too enmeshed in the infrastructure of the web to allow anyone to be free of intrusive surveillance unless they join the tinfoil-hatters in setting up the kind of countermeasures that consumers won’t understand or be able to do.
300ms tap delay, gone away – Chromium for Android 32 beta removes the artificial 300ms delay on clicking in mobile-optimised sites (eg, those with <meta name=”viewport” content=”width=device-width”>). Opera will inherit this too, if there aren’t accessibility problems in the beta stage.
Manifests for bookmarkable/ installable web pages – Mozilla has an external manifest file system which it’s standardising in W3C But, asks its editor, could the same functionality be folded back into the webpage using familiar <meta> and friends?
role attributes are from the Accessible Rich Internet Applications (WAI-ARIA) spec, and not part of HTML(5), although they’re allowed in pages. They’re developed by different groups, and for different reasons. ARIA is a bridging technlogy for any markup language – HTML4, SVG or HTML5 to “plugin” accessibility information that isn’t part of the host language:
WAI-ARIA is intended to be a bridging technology. It clarifies semantics to assistive technologies when authors create new types of objects, via style and script, that are not yet directly supported by the language of the page…
It is expected that, over time, host languages will evolve to provide semantics for objects that currently can only be declared with WAI-ARIA. This is natural and desirable, as one goal of WAI-ARIA is to help stimulate the emergence of more semantic and accessible markup. When native semantics for a given feature become available, it is appropriate for authors to use the native feature and stop using WAI-ARIA for that feature.
contentinfo is defined as an ARIA landmark on a page. It’s primarily there so assistive technology can allow a user to navigate around. The ARIA spec describes contentinfo as
A large perceivable region that contains information about the parent document. Examples of information included in this region of the page are copyrights and links to privacy statements. Within any document or application, the author SHOULD mark no more than one element with the contentinfo role.
This is a good description of a page footer, but HTML5 allows as many <footer> elements as you want:
The footer element represents a footer for its nearest ancestor sectioning content or sectioning root element. A footer typically contains information about its section such as who wrote it, links to related documents, copyright data, and the like.
The HTML5 <footer> does give “content info” but does so about its parent, which may be one of many <article>s or <section>s. Another element that gives information about the content it’s in is the <address> element, which may (but doesn’t have to) take an ARIA role of contentinfo.
So there’s not a 1-to-1 correspondence between <footer> and role="contentinfo". This is exactly the same as the correspondence as we see between <header> and role="banner". So it’s probably less confusing that the HTML5 element and the ARIA roles have different names.
It seems that the name <footer> was adopted as it was the most common class name found in a billion web pages analysed in 2005 by Ian Hickson, HTML5 editor. Arguably, contentinfo is a better “semantic” name (after all, information about content doesn’t have to be below the content it refers to, which is what “footer” implies), but “footer” is what people were already using. Anyway, the naming of the new HTML5 elements is done now. There’s no use in bikeshedding once the ship has sailed, as Captain MixedMetaphor says.
The HTML5 spec says that a “footer element that is not a descendant of an article or section element” (that is, the footer for the whole page) has a default implicit ARIA semantic of contentinfo. That is, assistive technologies are supposed to infer that role without the author specifying it. Good; that’s the way it should be.
However, until all do, you give a helping hand by explicitly adding that role on the page-wide footer.
Ex-Opera colleague and now Mozillian Anne van Kesteren writes a splendid little article today in which he says “I want to change the world so that the operating system is the browser and its app market the web” and describes in a little detail how.
I wholeheartedly agree with his aim, but I express my aim slightly differently: I want to change the world so the browser is the Operating System, the app market the web, and I can run any browser (indeed, any software) on a device I own.
LargeLocalStorage LargeLocalStorage bridges browser incompatibilities to give you a large capacity (up to several GB when authorized by the user) key-value store in the browser (IE 10, Chrome, Safari 6+, Firefox, Opera).
Responsive images – end of year report It’s nearly two years since I suggested a <picture> element as a strawman proposal as a way to solve the problem of responsive images, so let’s have a look at how we’re doing.
The second operating system hiding in every mobile phone – “a small operating system that manages everything related to radio … . Put a compromised base station in a crowded area…and you can remotely turn on microphones, cameras, place rootkits, place calls/send SMS messages to expensive numbers, and so on.”
Talking of unicode, What’s new in Unicode 7.0 ? – Reversed Hand with Middle Finger Extended”, “Reversed Victory Hand” (British equivalent of the finger), and “Raised Hand with Part Between Middle and Ring Fingers” (live long and prosper) and “MAN IN BUSINESS SUIT LEVITATING” as well as many, many others
Streams API (Editors Draft) “provides an API for representing binary and string data in web applications as a Stream object, as well as programmatically building and reading its contents.”
Long Term Web Semantics by Alex Russell. “Something irks me about the phrase “semantic HTML”. TL;DR – semantic elements have to do something; Semantic Web is not going to happen; Web Components are the future.
If Molly Holzschlag has helped you (and if you’re a webdev, she has), please help her pay for her chemotherapy. And then have a think about the morals of a first world society that doesn’t provide this to its citizens.
Exposing privileged APIs to web content – similar to the above: “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 (Opera)
Enabling new types of web user experiences – “In the court of public opinion, the war between native apps and web apps appears to be over. Even though the web world is valiantly and consistently improving the web platform, the world seems to have moved on, embracing and rewarding native apps.”
What is EME (Encrypted Media Extensions)? asks (then answers) Mozilla’s Henri Sivonen: “soon the video DRM capability will be the only thing that Silverlight and Flash have but the HTML/CSS/JS platform doesn’t”
After convincing my Member of Parliament, John Hemming, of the folly of Cameron’s plan to censor the web in the UK (sorry, I mean filter the web), he’s been doing some digging with the ISPs, writing to them to ask whether they plan to store your opt-ins privately on your router, or centrally.
He’s published the answers to his emails to BT, Sky and Virgin. BT were evasive, and TalkTalk didn’t formally respond, but it’s pretty clear they’ll store them in a centralised database. What could possibly go wrong with the government having access to a list of all those who want to see porn or “extremist” sites? It’s not like we live in a surveillance society, is it?
John and I would like to publish a fuller list. If you are a customer of an ISP that’s not on the list, please email them and ask them if they plan to store your opt-ins on a centralised database, what categories they intend to filter (eg, porn, extremism, alcohol, drugs) and how they will categorise them (eg, who will decide whether BNP/ EDL sites are “extremist”?) and paste it into a comment below. Please include the date and time the reply was sent, and who signed it (so we can double-check before publishing on John’s blog).
Browser vendors agree that srcset + DPR-switching is the right initial step forward (i.e., the 2x, 3x, etc. syntax).
Agreement to then consider srcset + viewport size after some implementation experience (possibly drop height syntax from srcset spec). If not implemented, Width/Height syntax to possibly be marked at risk in srcset spec.
Browser makers acknowledge the art-direction use case, but still think <picture> is not the right solution.
Adding new HTTP headers to the platform, as Client-Hints proposes to do, has had negative impact in the past – so Client Hints might need to be reworked at bit before it becomes more acceptable to browser verndors.
Browsers that have “retina” displays will choose retina.png as they have 2 CSS pixels to one physical pixel. Browsers that aren’t retina, or don’t understand the new syntax, fall back to the good old src attribute.
The Cabinet Office’s Open Standards Board is recommending open standards technology. The first two to be approved are HTTP/1.1 and Unicode UTF-8. Francis Maude, the Minister, allegedly said “open standards will give us interoperable software, information and data in government and will reduce costs by encouraging competition, avoiding lock-in to suppliers or products and providing more efficient services”.
This may not be revelatory to those of us in the web world, but it’s a Good Thing for the nation.
I had the pleasure of hearing Paul Arnett (now of Twitter, previously of gov.uk) talking about the gov.uk initiative at From The Front conference a few days ago, and thought it was a sign of schizophrenia that the same government that can allow subject experts make a world-leading governmental portal is the same government that disregards experts and its own consultation in wanting to censor the web.
I realise now that it’s the old Tory DNA: the belief in encouraging competition by economic liberalism, reducing bureaucracy, while remaining socially authoritarian and reeling from one moral panic to the other. So no change there.