New: cross-document messaging

With new versions of our trusted browsers coming out, web developers who like living on the edge can start  using some of the new features that are becoming available. One such goody is cross-document messaging, which is part of the HTML5 draft spec.
Cross-document messaging allows children of a window (think iframes, popups, …) to communicate using JavaScript, even if they originate from a different domain. This means that Instead of just iframing an external application, without being able to integrate further, your page can send and receive messages to/ from it. PostMessage could even be used to do cross-domain XHR (a hidden iframe on the same domain as a a remote datasource can be used as a proxy to perform XmlHttpRequests on that remote domain) untill the real thing hits the streets as well.
The two additions that allow you to perform such messaging, are window.postMessage and an eventlistener for events of the “message” type to handle the message. A pretty straightforward example of this can be found on JQuery’s John Resig’s site (see also his lastest blog entry about postMessage). As cross-domain javascript can be a potential big security risk, taking into account some precautions is really really really really really necessary. Really!
On the downside (as if security is not a problem); this brand new feature is only available in Firefox 3 for now. My own little test (a copy of John Resig’s example with some minor tweaks) worked in Opera 9.2x (and 9.5b) as well, but postMessage seems to have been dropped from the final Opera 9.5, as the tests on Opera Labs don’t seem to work any more either. Support for postMessage is also available in Webkit (Safari‘s backbone) nightly builds and in Microsoft’s IE 8 BETA (with the event being ‘onmessage’ instead of ‘message’ and some other quirks but hey, this is beta, no?).
So expect postMessage to be available in all major browsers by the end of the year. But why wait if you know that Facebook is already using postMessage in their chat application. I wonder what they fall back to if it is not available though …

Firefox 3rc1 shines in Javascript benchmark

blazing firefox3As the official release of Firefox 3 is getting closer, with Release Candidate 1 being available since May 17th, I decided to boldly go where codinghorror has gone before and do a quick-and-dirty Javascript-performance comparison of the different browsers I’ve got installed on my Dell Latitude D620 laptop, using Webkit’s Sunspider benchmark.

Let’s start with the results for the browsers on my Windows XP SP2 installation, ordered from slowest to fastest. Each test was executed 2 times, clicking on the results will teleport you to the detailed results where you can paste the URL’s of another test to compare.

The MSIE7-results are probably not entirely representative, as I use Tredosoft’s standalone IE7. This is a bit of a hack to have IE7 on my otherwise MSIE6-based system. Moreover my corporate Windows-installation is infested with crapware, notably McAfee OAS and Zonealarm seem to be slowing things down enormously. The codinghorror-tests indeed show significantly better results for this browser, although IE does have serious issues with string concatenation, which should be fixed in IE8.

On the same hardware, but booting in Ubuntu 8.04 (Linux) form my external USB HD (a.k.a. my ‘disktop‘), I got the following results:

Firefox 3 RC1 seems slightly slower then b5, but maybe the Ubuntu-b5-version is compiled with optimizations? Firefox is also faster on Ubuntu, but the anti-virus-bloat is probably messing with our heads here (although Opera is slower on Linux, go figure).

The general conclusion however; Firefox 3 is a huge step forward as far Javascript-performance is concerned. Users of javascript-heavy web-applications such as Gmail, Google Reader, Zoho Office and Zimbra should benefit enormously from this. It would however be very interesting to perform similar tests with regards to ‘normal page rendering’ (html/css). Does anyone know of such benchmarks?

No microformats (to be seen) in Firefox3!

microformats logoAlthough support for microformats in FF3 was talked about early 2007, no reference to them can be found in the recent beta’s user interface. As I think microformats could be an important part of the future semantic web, I mailed 2 Firefox microformats evangelists to ask what happend. Alex Faaborg, User Experience Designer at Mozilla, replied;

“The API for accessing microformatted content on a page will be included in Firefox 3, however a user interface for acting on microformatted content was unfortunately pushed back to the next release.

We are hoping that the API leads to several innovative Firefox extensions for microformats that we can use to help determine what the best user experience is for interacting with data on a page.  You can learn more about the API here:

The reason for microformats not making it into the FF3 user interface apparently was a lack of agreement with regards to how they should be visualized. According to feedback received from Michael Kaply, author of the Operator microcards FF-extension, using a toolbar was too intrusive, they didn’t want to clutter the URL bar and they couldn’t come up with the right way to make the microcards-functionality extendable.
All in all a good thing microformats-functionality exists under the hood, but very unfortunate that Firefox3 will not allow ‘average users’ to see and interact with microformatted content. Maybe we should tell everyone to just install Operator for now?

Ubuntu Hardy upgrade a breeze!

I upgraded my Ubuntu “disktop” from 7.10 to the new Ubuntu 8.04 (aka Hardy Heron) today. The entire process took around 1h30 (download of packages was rather slow) and was incredibly straightforward (as shown in upgrade docs). Everything seems to work flawlessly as far as I can tell.
Hardy is running Firefox 3 beta 5, but Ubuntu/ Canonical will provide upgrades as FF3 goes through it’s final release-stages. Strange as including a Beta might seem, this actually is a wise thing. FF3b4 and b5 have proven to be quite stable (i’ve switched from FF2 approx. 2 months ago, haven’t looked back since). Moreover, Hardy is a “Long term support”-release, with the Desktop-version receiving support until 2011 and the Server-version until 2013 and using FF3 ensures Ubuntu of continued support (read: security updates) of the Mozilla-team in the years to come.
Check out the release notes for more details about Ubuntu 8.04 LTS.



zeer snelle vosDat er precies iets (heel snel) beweegt in browserland:

Firefox 3 beta 1, nu gratis te downloaden!

Jaja, Firefox is altijd gratis, maar dit postje moet nu eenmaal een titel en die mag al eens een wenkbrauw doen fronsen, toch? Het is voor de rest immers niet echt groot nieuws, mensen die nog op browsers kicken zijn eergisteren al luid schreeuwend klaargekomen. Maar Firefox 3 is dus inderdaad in Beta.
Ik citeer de Mozilla Developer Center-blog snel even om de belangrijkste nieuwe features op te lijsten:

  • Improved security features such as: better presentation of website identity and security, malware protection, stricter SSL error pages, anti-virus integration in the download manager, and version checking for insecure plugins.
  • Improved ease of use through: better password management, easier add-on installation, new download manager with resumable downloading, full page zoom, animated tab strip, and better integration with Windows Vista and Mac OS X.
  • Richer personalization through: one-click bookmarking, smart search bookmark folders, direct typing in location bar searches your history and bookmarks for URLs and page titles, ability to register web applications as protocol handlers, and better customization of download actions for file types.
  • Improved platform features such as: new graphics and font rendering architecture, major changes to the HTML rendering engine to provide better CSS, float-, and table layout support, native web page form controls, colour profile management, and offline application support.
  • Performance improvements such as: better data reliability for user profiles, architectural improvements to speed up page rendering, over 300 memory leak fixes, and a new XPCOM cycle collector to reduce entire classes of leaks.

Ziet er goed uit, zeker de 2 laatste puntjes. “Get the basics right”, leerde ik op het werk tijdens brainstorm-sessions, is immers de absolute voorwaarde om customer experience te verbeteren en daar zijn de Mozilla developers dus blijkbaar ook mee bezig. Meer info in de release-notes, waar overigens ook het volgende staat:

“Please note that installing Firefox 3 Beta 1 will overwrite your
existing installation of Firefox.”

En dan vraag ik me onwillekeurig af of ik dat wel wil, zo een wild beta-veulen dat mijn trusty FF2-knol komt buitenschoppen? Of zou apart installeren toch lukken, als ik zelf een alternatief installatie-pad opgeef? En als ik FF3 dan opstart met een vers profiel en ik in FF2 mijn oud profiel blijf gebruiken? Hmmm …

Brengt Firefox 3 ons de nieuwe animated png standaard?

Net gelezen op de Mozilla Labs Blog: Firefox 3 zal apng’s ondersteunen, animated png’s. Een alternatief voor slome animaties in flash én voor de lelijke -want met een bijzonder beperkt kleurenpalet- animated gifs? “Tof”, bedacht ik, “nog even wachten tot MSIE8 die nieuwe standaard ook ondersteund en we zijn weer een stapje verder in de goeie richting”.

Niet dus: apng‘s blijken een uitvinding van de Mozilla-mensen en de png-werkgroep heeft hun voorstel, dat eigenlijk een alternatief wilde bieden voor de onpopulaire mng-standaard, in april 2007 afgewezen. Er liggen momenteel nog een paar andere ideeën op tafel, maar er is dus nog geen standaard voor animated png’s. apng’s zullen hun nut ongetwijfeld hebben als browser-component -en daar focust het artikel op Mozilla Labs dan ook op- maar voor animated png’s op het internet lijkt het alleszins nog altijd te vroeg. Spijtig.

De volgende web (r)evolutie is hier (bijna)!

some logo, not telling you what it’s from though :-pWeb 2.0: been there, done that? En wat nu? Wel, Tim Berners-Lee en andere visionairen beweren dat de toekomst van het web semantisch zal zijn. Waarmee ze bedoelen dat informatie op het web betekenis moet krijgen voor machines (software), zodat die zelf verbanden kunnen leggen om die verzamelde data dan aan de gebruiker te presenteren. Het idee van Tim Berners-Lee is ondertussen al meer dan 5 jaar oud en er is in de praktijk eigenlijk nog niet veel gebeurd op het vlak van het semantische web. Maar nu lijkt er een doorbraak op til met een elegante en betrekkelijk eenvoudige oplossing om web-data te structureren.
microformats logo De volgende web (r)evolutie zou dan ook wel eens kunnen worden ontketend door microformats. Dat is informatie in gewone web-pagina’s die in de html-code extra getagged wordt, om diezelfde pagina ook voor machines en software bruikbaar te maken. Een heel eenvoudig voorbeeld met een gewone link:

<a href=””>frank goossens</a>

een beetje aanpassen naar

<div class=”vcard”><a href=”” class=”url fn”>frank goossens</a></div>

en mijn naam en de url van mijn (shabby) homepage zijn ontsloten middels de hcard-microformat en daarmee ook “machine-readable”! Voor hcard zijn er nog veel andere attributen (adres, geboortedatum, nickname, foto, …) en daarnaast zijn er ook microformats voor bv. kalenderinformatie (hcalendar), recensies en tags. In die laatste incarnatie worden microformats overigens nu al ondersteund door zowat alle blogsoftware.
Ja, en dan?
En wat kunt ge daar dan mee Goossens? Awel; de gestructureerde informatie in microcards kan in principe gelezen worden door je browser, door zoekmachines of door andere gespecialiseerde software. En daar kan die data aangevuld worden met andere gestructureerde informatie om al dat moois dan voor uw en mijn gebruiksgemak te presenteren. Het valt bijvoorbeeld te verwachten dat zoekrobotten (technorati heeft dit al in de keuken staan) microformat-informatie zullen verwerken en gebruiken om zoeken op iets als “alle events in Gent van 14 tot 23 juli” in kalender-formaat mogelijk te maken. Of dat je browser microformats herkend en je die rechtstreeks in je contact-, kalender-applicatie of in google earth/ maps kunt binnenhalen (spoiler: dat kan nu al, lees vooral verder).
Veel beter uitgelegd
Vorige maand hield FF-user experience designer Alex Faaborg een presentatie over microformats die in dit kader zeker mag gezien worden (link naar slideshare-presentatie).
De doorbraak
operator screenshotMicroformats bestaan ondertussen 2 jaar, maar er zijn een paar stevige redenen waarom de doorbraak er in 2008 zit aan te komen; ze zitten dus in Firefox 3 en Internet Explorer 8 zal die vermoedelijk ook ondersteunen (Gates gaf zijn zegen in 2006). Er is overigens nu al een microformats extensie beschikbaar voor Firefox 2; Operator, ontwikkeld door een IBM-developer, dat kan ook al tellen als geloofsbrief. Operator vormt overigens de basis van de microformats-ondersteuning in FF3.
Anderzijds lijkt er ook aan de kant van websites ook wat te bewegen: sites als, plaxo, salesforce en linkedin bieden hun info nu al via microformats aan. Aan de kant van “website beheer software” zijn ontwikkelaars van open source systemen als Drupal, MediaWiki en WordPress microformats aan het integreren. Het lijkt me niet meer dan logisch dat dit een selectiecriterium voor keuze van corporate webcms’en zal worden (waarbij CMS’en die op basis van contenttypes werken, duidelijk in het voordeel zijn).
Hoort U het ook?
Wat ajax gedaan heeft voor web 2.0, zullen microformats voor <insert buzzword here> doen; met betrekkelijk eenvoudige technologie de basis leggen van ontwikkelingen die het web naar een volgend niveau kunnen tillen. Wie een site beheert waar contact-gegevens of gebeurtenissen op gepubliceerd worden, heeft de klok horen luiden, ga nu uw klepel zoeken!
Meer info:

Firefox 3 vandaag weer stapje dichterbij

Firefox CommunityAls alles goed loopt, wordt later vandaag Firefox3 Alpha5 gereleaset. Er zitten heel wat nieuwe features in versie 3, die je ongetwijfeld al elders opgelijst staan. Wat ik alleszins nog niet wist is dat Firefox3 xmlhttprequest (de javascript-kern van AJAX) ook “crosssite” zal toelaten. En ja, dat is belangrijk! De release notes van Alpha5 staan al online, de downloadlinks werken nu (14h10) nog niet. Maar ik ga die voorlaatste Alpha straks wel eens installeren. Living on the edge eh 😉