After Front Row 2011

At Front Row Conference this week I had the pleasure to speak about the new features coming to JavaScript with ECMAScript.next (slides) and to host the “Mozilla & the Open Web: How You Can Help” open space session that was meant to encourage you to contribute to the Mozilla Developer Network, experiment with upcoming HTML, CSS and JS features and submit any bugs you find (with testcases!) to all browser vendors. I’d welcome your feedback about both of these sessions, so feel free to comment here or send feedback by email.

Overall, FRC was great and I’d like to thank the organizers – Olga and Mariusz and their team for all the great work they did. It was also a great opportunity to meet (and party with!) some of the industry’s smartest people, so I am really happy to have participated.

Looking forward to FRC 2012! :)

Is HTML 5 by Apple really HTML 5?

(Ta notka jest także dostępna po polsku)

Apple recently released a number of demos, which they call HTML 5 demos. In this post, I’d like to analyze whether these demos are really HTML 5 or not. I am not going into ideological stuff here (but, to be honest, I do agree with Chris Blizzard’s point of view) – I’m going to check only the technological side of these demo pages.

One thing before we begin. Please note that the “long story short” sentences at the end of each paragraph relate to what I think is really demoed on each page, not to the formal presence of HTML 5 tags. For example, if a page uses HTML 5 section tags (and most of them do), but the demo itself is actually about style transitions, I do not consider it an HTML 5 demo. With this in mind, let’s start.

Video – indeed uses HTML 5 <video> tag, embedding an h.264 video file. Perspective and masking effects are not part of HTML 5, they are possible thanks to Apple’s experimental extensions to the CSS standard. So, this is indeed an HTML 5 demo, but not all the cool stuff here is actually HTML 5.
Long story short, HTML 5: yes, CSS 3: not really, Apple’s proprietary CSS extensions: yes.

Typography – HTML 5 has nothing to do with font embedding. Font embedding is standard CSS 2 (though only recently widely implemented by browser vendors). Horizontal slider is made out of plain old HTML 4 elements (mainly divs), instead of standard HTML 5 <input type=range> element, which is actually supported by Safari. Transparency works thanks to the widely supported CSS 3 Color Module opacity property. Rotation is powered by Apple’s experimental -webkit-transform property, which is actually supported by other browser vendors with their own prefixes (-moz-transform in Firefox 3.6 and -o-transform in latest Operas). Text shadow is applied through the text-shadow property from CSS 3 Text Module. It is also supported by Mozilla and Opera. No HTML 5 here other than <nav> and <section> elements, used throughout the demo site (though, there are lots of HTML4 <div>s there, too). You could make a basically identical page with plain old HTML 4, all the good stuff is, in fact, CSS 3 or experimental additions to CSS 3.
Long story short, HTML 5: not really, CSS 3: a bit, CSS 2: yes, Apple’s proprietary CSS extensions: yes.

Gallery – the only HTML 5 elements here, apart from <nav> and <section>, are <figure> elements, containg the image and prev/next buttons. All the cool stuff is actually made of Apple’s experimental CSS transforms and transitions (other browsers do support some or most of the same transforms and transitions with different vendor prefixes, i.e. Opera has -o-transition instead of -webkit-transition). While cool, these things are not standard yet, and never will be part of any HTML version – as they are extensions to CSS.
Long story short, HTML 5: a bit, CSS 3: no, Apple’s proprietary CSS extensions: yes.

Transitions – are all about the same above-mentioned CSS transforms and transitions. HTML 5 is only used in the navigation part (the links starting off each transition are inside a <section> element, and the header is indeed an HTML 5 <header> element). The real part of the demo – the images that are transformed through CSS, are in plain old <div>s, though. All the coolness thanks to proprietary extensions to CSS.
Long story short, HTML 5: not really, CSS 3: no, Apple’s proprietary CSS extensions: yes.

Audio – a real HTML 5 demo, uses <audio> and <canvas> HTML 5 elements. The song is in the proprietary and patent-encumbered MP4 format, though.
Long story short, HTML 5: yes. Whoohoo!

360° – a JavaScript script cycles through many images of the iPod touches as you move your mouse. Nicely done, but the only thing here that was not possible a few years ago is touchscreen compatibility thanks to Apple’s proprietary events souch as ontouchstart. If you ignore the touchscreen-related events, you can make an identical demo even in piece-of-crap browsers like IE 6 with little effort. So, as the touch events are the only really new thing here, it seems that this is in fact a demonstration of these iPod/iPad/iPhone-related touch events, not of any HTML 5 features.
Long story short, HTML 5: no, CSS 3: no, Apple’s proprietary events: yes.

VR – lots of Apple’s proprietary experimental CSS transforms and transitions shown here plus some JavaScript, but not much of HTML 5.
Long story short, HTML 5: not really, CSS 3: no, Apple’s proprietary CSS extensions: yes.

Apple says:

The demos […] show how the latest version of Apple’s Safari web browser, new Macs, and new Apple mobile devices all support the capabilities of HTML5, CSS3, and JavaScript.

As you can see, with some exceptions (video/audio and canvas) and some marginal features outside of the core of each demo (navigation and sectioning), the real objective of these demos is to show Apple proprietary features, mostly CSS extensions. To be fair to the Cupertino company, some of them are pushed by Apple for standarization in the W3C, which is a good thing. Still, it does not make them standards at this moment, and once they become standards, they might look a bit or a lot diffrent.

There’s nothing inherently wrong in the demos themselves (and, as always with Apple, they are cool eye candy), but calling them “HTML 5” – while they do not show a lot of real HTML 5 features – and “standards” – while they’re mostly Apple’s proprietary non-standard extensions – seems to me slightly insincere. What is shown here is actually the great potential of the WebKit rendering engine. If they called it “Apple WebKit demos”, that would be correct and honest.

Post Scriptum for buzzword lovers: Of course, some people (like PPK) are trying to make a buzzword out of “HTML 5”, with meaning shifted from “HTML – the markup language and related APIs” to “all the cool new stuff without Flash”. If you’re one of those people, feel free to agree with Apple on this, and disagree with me.

PS #2. Am I an Apple hater? I wrote this on my MacBook… ;-)

Mozilla in Poland: EPIC WIN! ;-)

For the first time since the late nineties, Microsoft Internet Explorer is no longer the most popular web browser in Poland. Mozilla Firefox scores the highest marketshare percentage ever, 45.3%, leaving MSIE behind by 0,3 percentage points.

All the Gecko-based browsers amount to 45.5% of the marketshare, Opera is at 8% and growing. WebKit-based browsers like Chrome and Safari grouped with KHTML-based Konqueror are only at 0.3%.

We did it! We broke the Microsoft monopoly! Big thanks to all the people who have supported Mozilla in Poland, starting with Marcin Jagodziński, the first man to translate Mozilla into Polish, Piotr Bartecki and Marek “GmbH” Wawoczny for everything they did at MozillaPL.org, and to all of my friends at Aviary.pl. We would not be here without all your work! I also personally would like to thank the Mozilla Europe team for supporting the Polish team.

To our great community – MozillaPL.org forum members, Polish extension developers,  contributors to the alt.pl.mozilla newsgroup, and to all the Polish web developers who supported web standards and Gecko even in the days of 1% marketshare, to all of you – THANK YOU!!!

History happens!


mozillaepicwin


Po raz pierwszy od lat dziewięćdziesiątych Microsoft Internet Explorer nie jest już liderem rynku przeglądarek internetowych w Polsce. Mozilla Firefox uzyskuje najwyższy wynik w historii – 45,3%, wyprzedzając MSIE o 0,3 pkt proc.

Wszystkie przeglądarki oparte na silniku Gecko mają łącznie 45,5%, a Opera osiągnęła poziom 8% i nie przestaje rosnąć. Przeglądarki oparte na silniku WebKit, takie jak Chrome i Safari, łącznie z opartym na KHTML Konquerorze mają łącznie 0,3%.

Udało się! Przełamaliśmy monopol Microsoftu! W tym miejscu chciałbym podziękować wszystkim, którzy wspierali Mozillę w Polsce, zaczynając od Marcina Jagodzińskiego, który rozpoczął polską lokalizację Mozilli, przez Piotra Barteckiego i Marka “GmbH” Wawocznego (za wszystko, co zrobiliście w MozillaPL.org) po moich przyjaciół z Aviary.pl. Bez Waszego oddania nie byłoby to możliwe. Dziękuję także stowarzyszeniu Mozilla Europe za wsparcie, jakiego udziela polskiemu zespołowi.

Naszej wspaniałej społeczności – użytkownikom forum MozillaPL.org, twórcom polskich rozszerzeń, uczestnikom dyskusji na alt.pl.mozilla, a także tym wszystkim web developerom w Polsce, którzy przestrzegali standardów WWW i wspierali Gecko nawet w najbiedniejszych dniach jednoprocentowego udziału w rynku, Wam wszystkim – WIELKIE DZIĘKI!!!

Tak oto dzieje się historia. :)

PS. Na ten temat po polsku pisze dziś także Hubert.

7 Things You May (Or May Not) Know About Me

Ok, so Staś tagged me and I have to think about seven things people don’t generally know about me. Let’s see…

7. My (probably) first contribution to open source were these renderings of Slackware Linux logo. Yup, I was trying to learn GIMP at the time. :)

6. Now something shameful: my first publically available website (which is more-less what evolved into this blog over the years) was made with Microsoft FrontPage Express and only worked well in IE 4. But a few months later I became a fundamentalist convert to the Netscape faith. When I first encountered a Gecko-based build I thought it was totally broken. How the hell couldn’t it support my l33t document.layers-based JavaScript code? ;-)

5. I do not really speak Russian, but I’ve learned Cyrillic from a pocket English-Polish-French-German-Russian electronic translator, thanks to the fact that many words in Polish and Russian are the same, only written in different scripts. I was in the 4th grade of primary school then. How geeky is that? Oh, this also means I can only read printed Cyrillic, Russian handwriting is something I can’t decipher. :)

4. I am a huge frakin’ Battlestar Galatica (2003) fan.

3. I basically hate techno music, but when I was twelve I used to compose wanna-be-techno tracks with ProTracker and DigiBooster on my Amiga 1200. One guy even bought a tape with some of them from me and played it at a few parties. :)

2. The nickname “marcoos” is actually the rendition of my first name “Marek” in Latin – “Marcus”, with spelling bastardized to look more awesome. At least that’s what I thought about it in 1996, when I invented it to sign my never publically released demos written in AMOS. I’ve never changed that nickname… Oh, well.

1. As a high school paper journalist, in late 2000 I flew on board the Polish “Air Force One” (a rather scary and old Soviet Tupolev 154M aircraft) with then-Prime Minister of Poland and took part in the press conference after the meeting of four PMs of Poland, Czech Republic, Slovakia and the Netherlands in Bratislava, Slovakia.

Now, seven other Mozilla people I’d like to tag:

(I hope nobody has tagged you before I did ;))