Microsoft bevestigt Internet Explorer 8

Bill Gates sprak eergisteren op Mix ‘n Mash 2007 onder andere over de volgende versie van Internet Explorer en bleek zelf in het duister te tasten toen Molly Holzschlag hem vroeg waarom het zo stil bleef rond wat er al dan niet in IE8 zal zitten:

I’ll have to ask Dean what the hell is going on. I mean, we’re not — there’s not like some deep secret about what we’re doing with IE. […] I don’t know where Dean is in terms of if he’s willing to commit what’s in IE 8 and what’s not in IE 8. In terms of standards support, he’ll see that it’s a glass half full. It adds a bunch of new stuff we didn’t have before, it doesn’t add everything that everybody wants us to do.

Op de IEBlog bevestigde die Dean (Hachamovitch, general manager van het IE-team), een dag later enkel dat ze aan de volgende versie werken en dat die niet “IE Desktop Online Web Browser Live Professional Ultimate Edition for the Internet” maar wel gewoon “Internet Explorer 8” zal heten. Over specs repte Dean echter met geen woord en hij eindigde zijn aankondiging nogal koeltjes met de woorden

In the meantime, please don’t mistake silence for
inaction.

Dat zinnetje zorgt in de comments voor heel wat harde reacties. Ook Firefox’s Asa Dotzler heeft Deans aankondiging gelezen en schrijft op zijn blog:

What your silence for the last 18 months of IE 8 development tells the Web developers of the world that you don’t give a shit what they’ve got to say about it.

Hoedanook, op Mix 2008 zou er wèl relevante IE8-informatie vrijgegeven worden:

BILL GATES: I’ll ask Dean what’s going on. I mean, is IE 8 represented at MIX? I assume it is.
JENNIFER RITZINGER: Yes.
MOLLY HOLZSCHLAG: To what extent?
JENNIFER RITZINGER: To be determined
MOLLY HOLZSCHLAG: So, at MIX08 then?
JENNIFER RITZINGER: There will be disclosure by MIX08.
MOLLY HOLZSCHLAG: By MIX08, then.
JENNIFER RITZINGER: Yes.

In maart 2008 horen we als het meezit dus welke richting MS uit wilt met Internet Explorer. Benieuwd hoe half-vol of half-leeg het standards-glas zal zijn en of ze die nieuwe, betere versie nog wel in 2008 zullen kunnen buitenduwen.

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 …

Uw Firefox hoeft niet te crashen!

In tegenstelling tot wat sommige fan-boys beweren, is Firefox niet “the best thing since sliced bread“. Akkoord, het is een goeie browser en het succes van Mozilla heeft leven in de browser-brouwerij geschopt, maar het is niet al rozengeur en maneschijn. Firefox durft na verloop van tijd al eens flink wat geheugen vreten en ja, we moeten eerlijk zijn, soms crasht de boel ook grondig, zoals sommige blogposts ook bewijzen.
Het goede nieuws: ge kunt daar dus echt iets aan doen! Streng zijn op welke plugins ge installeert helpt U bijvoorbeeld al een goed eind op weg. Kijk eens op de lijst met “Problematic extensions” op de MozillaZine Knowlegde Base. Een minimaal aantal plugins (want hoeveel van die bling gebruikt ge echt?) en ge zijt al een stap dichter bij een echt stabiele browser.
En als de historiek van al die plugins, al die Firefox-versies en al die configuratie-wijzigingen uw browser duidelijk te veel is geworden, misschien moet ge dan eens met een schone lei (ook wel ‘nieuw profiel’) aan de slag gaan? Op deze pagina leest ge hoe ge een nieuw profiel aanmaakt en uw data mee verhuist (alhoewel ik prefs.js nu niet persé mee zou migreren).

Michel Vuijlsteke vs Firefox (en post redirect warnings)

elementary, dear vuijlsteke!Michel Vuijlsteke heeft het moeilijk met Firefox. Het is “het véruit meest onstabiele programma op heel mijn computer” en dat kan op zich al tellen. Maar laatst vroeg diezelfde browser hem:

“This web page is being redirected to a new location. Would you like to resend the form data you have typed to the new location?”.

Michel was verward, een beetje geërgerd zelfs:

“Nee, Firefox, dat wil ik niet. Of misschien wel. Of nee… aargh! Ik weet het niet! I’m so confused! Ik héb helemaal geen form data ingevuld, en ik wil die helemaal niet doorsturen!”.

Omdat het welzijn van deze opperblogger me nauw aan het hart ligt en -ge moet dat durven toegeven Goossens- omdat ik een Firefox fanboy ben, haalde ik mijn Dearstalker-hoed, kalebas-pijp en vergrootglas nog eens uit de serverkast en leerde al speurend toch weer één en ander bij. Ontdekt U mee?
Alzo: bovenstaande waarschuwing in Firefox wordt door de browser zelf getoond bij een specifiek soort redirect van POST-requests. Er is geen setting in about:config waarmee deze functionaliteit af- en aangezet kan worden en je krijgt de popup niet bij triviale GET-redirects.
De flow van zo een POST-redirect (ik heb snel een voorbeeldje gemaakt, test gerust zelf) ziet er als volgt uit:

  1. gebruiker submit (bewust of m.b.v. javascript) een form met method POST naar server xyz.be
  2. server xyz.be retourneert een http status code 307 met Location abc.be
  3. browser POST de data van het formulier naar abc.be

Een soort bounce dus. Nu hebben de HTTP/1.1 specs (RFC 2616) blijkbaar ook een mening over hoe zo een 307 door de browser moet worden afgehandeld:

“If the 307 status code is received in response to a request other than GET or HEAD, the user agent MUST NOT automatically redirect the request unless it can be confirmed by the user, since this might change the conditions under which the request was issued.”

Eh! Tiens! Een browser moet in principe dus een waarschuwing geven als een POST-request wordt gebouncet? Straf. En wat doen Safari, Opera en MSIE dan? Awel: Opera vraagt ook wat er moet gebeuren (brave jongens, die Noren). Safari volgt de specs al iets minder en redirect zonder morren, maar alle formdata gaat wel verloren (oeps). Enkel MSIE (ook 7) volgt de redirect en herpost zonder een kik te geven. Akkoord, MSIE verwart de gebruikers op die manier niet met onduidelijke waarschuwingen, maar dat middels wat XSS of phishing in combinatie met zo een 307 logins en andere confidentiële data ongemerkt ontfutseld kunnen worden, daar malen we niet om. Toch?
Soit, conclusie voor webdevelopers: gebruik geen form redirects met status 307! De juiste manier om Post/Redirect/Get te implementeren is de form data bij de eerste (post-)request te verwerken en dan pas met een http status 303 (of 302, als ge persé moeilijk wilt doen) een redirect te triggeren.
En een tip voor Michel: Safari 3 voor Windows komt eerstdaags officieel uit (ik gok tegelijkertijd met Leopard, dat zou dus … vandaag zijn). Dat betekent misschien het einde van je Firefoxmiserie? 😉

In de reeks “Vloeken op”; Internet Explorer 6

Een paar dagen geleden nog eens flink gefoeterd op Microsoft Internet Exporer 6. Ik moet eerlijk zijn; ik ben slechts een html- en css-amateurken, maar ik wilde in mijn eigen versie van het WordPress Indigo theme (dat ik ooit trots Greendigo zal dopen) het 2de niveau van het pagina-menu persé uitklapbaar maken. Beetje gezocht, wat copy/pasten, een paar wijzigingen links en rechts en ik had een leuke oplossing, volledig in css. Joepie! Juich! Jeuij!
Maar dat was dus buiten MSIE6 gerekend. Dat onding uit 2001 ondersteund :hover enkel op links, terwijl dat volgens de css2-standaard (toch ook al uit 1998) op alle html-elementen kan. Terug de Google index ingedoken om daar -naast heel wat complexe behavior-magic en natuurlijk het alomtegenwoordige jQuery– het kleine maar fijne Son of Suckerfish te vinden. Works like a charm! Dat jQuery tegenwoordig standaard in WordPress zit, besef ik nu pas, al schrijvende. Misschien Suckerfish er toch terug uit en de jQuery-oplossing in de plaats, één dezer dagen?
Maar het is ontstellend om te zien hoe hoog het marktaandeel van MSIE 6 één jaar na de release van IE7 toch nog blijft. Generaliserend kun je uitgaan van 45% van die kaduke versie tegenover 35% voor de opvolger en 15% voor Firefox. Waarom IE6 nog gebruik wordt? Beats me … Misschien kunnen de mensen die dit lezen in MSIE6 dat beantwoorden?

Followup: coScripter voor Firefox

Naar aanleiding van mijn kort experiment met de coScripter Firefox add-on, mailde ik IBM over mijn problemen met de onbetrouwbare resultaten. Hun antwoord vertaald en samengevat:

“Je bent in aanraking gekomen met één van de probleempjes waar we nog aan werken. De ‘run’-knop geeft omwille van verschillende redenen inderdaad een onvoorspelbaar resultaat. We kunnen bijvoorbeeld niet altijd zien wanneer de pagina volledig in de browser is ingeladen en de pagina kan al verschillen met wat de auteur van het script zag. Voorlopig kun je de ‘step’-knop beter gebruiken om stap voor stap door een script te lopen.”

En over het probleem van coScripter op meertalige sites:

“Het klopt inderdaad dat scripts werken op basis van de tekst op de pagina. Een script dat opgenomen is op een Spaans-talige pagina, zal vermoedelijk niet werken op diezelfde pagina in het Engels omdat de nmaen van buttons en links verschillend zijn.”

Ik merkte overigens ook dat coScripter het moeilijk heeft met een pagina die verschillende forms bevat, zeker als die geen eigen id hebben of als de input elementen overheen die verschillende forms dezelfde id hebben. Aangezien veel webapplicaties het niet altijd even nauw nemen met de naming van formulieren in hun html, vrees ik dat er in coScripter nog heel wat zal moeten veranderen om echt bruikbaar te zijn op het wilde-wereld-web.
Maar kom, de vriendelijke IBM-dame noemde me in haar mail een “early adopter”. Enerzijds is dat altijd een compliment, anderzijds betekent dat evengoed “laat ons gerust, we zijn nog niet klaar”. Daar kan best ik mee leven, eigenlijk …

Scripten op webpagina’s met FF coScripter

Een op het eerste zicht toffe Firefox add-on van IBM; coScripter. Met coScripter kun je je acties op een website of -applicatie opnemen en daarna terug afspelen zonder ook maar iets van programmeren te kennen. Het systeem beschrijft je acties dan in gewone spreektaal (Engels). De “natural language processing” die die spreektaal terug omzet in code is meteen ook het grote verschil met het javascript aangestuurde Greasemonkey. De scripts die je zo in coScripter maakt, kun je daarna makkelijk wijzigen, bewaren en delen met andere gebruikers op de coScripter-site. Heel web 2.0 allemaal, toch?
coscripter script website
Een voorbeeldje, iemand?
Een voorbeeld van een script waarmee je je Facebook status kunt aanpassen;

go to “http://www.facebook.com”
enter your “e-mail address” (e.g. tlau@tlau.org) into the “Email:” textbox
enter your password into the “Password:” textbox
click the “Password:” button
click the “Profile” link
click the “Update your status…” link
enter your status into the status field

E-mail-adres en wachtwoord kun je lokaal bewaren en worden dan door het script gebruikt waar gebruikersnaam of wachtwoord moeten worden ingevuld. Maar bekijk het introductiefilmpje op de coScripter-site misschien even als bovenstaande te abstract is?
Volgens de Mozilla labs blog bekijken de developers van het Firefox accessability-team de mogelijkheid om de ‘natural language processing’-mogelijkheden van coScripter te gebruiken om Firefox toegankelijker te maken.
Maar in de praktijk …
Omdat ik een nieuwsgierig aagje ben, downloadde ik de addon (je moet daar wel een IBM ID voor hebben), speelde er even mee en heb het onding ook al terug gedeïnstalleerd. De resultaten waren niet consistent; veel lijkt af te hangen van de kwaliteit van de html-code van de pagina’s waarop je script. Met bovenstaand Facebook-script bijvoorbeeld, kwam ik soms op de juiste pagina (om mijn status aan te vullen), maar soms ook op totaal andere sites (gmail heb ik voorbij zien flitsen, maar ook horoscope.com en profile.com). Heeft ongetwijfeld te maken met advertenties en andere links die op volstrekt natuurlijke wijze verward worden met de correcte links.
Spijtig, ik denk dat ze bij IBM nog wat werk hebben 😉

Safari3 vreet geen wiki meer!

webkit logoGroot nieuws: Safari3 is de smaak van mijn wiki eindelijk beu en vreet er geen tekst in de textarea’s meer! De webkit nightly build van 26-8-2007 (werkt enkel als je Safari3 voor Windows al geïnstalleerd hebt staan) heeft deze lelijkaard immers de wereld uit geholpen.
Als ik de uitleg in de webkit-bugtracker goed begrijp, werd de bug veroorzaakt door toetsaanslagen die onterecht als tekstinput werden beschouwd en daardoor als ‘null character’ werden ingevoegd. Die null characters en/of control characters (die ondingen gooien ook roet in het eten, snap niet waar die vandaan komen maar soit) zorgden er dan voor dat de rest van de textarea werd “opgegeten”. Ofzo?
Alleszins; groot feest gister in Eksaarde, mijn vrouw, dochterken en ik dansten de polonaise en de buren hosten enthousiast mee. Terug in de echte wereld besefte ik wel dat ik nog wel enkele probleempjes met Safari3 voor Windows heb; ik krijg nog regelmatig de foutmelding “Safari can’t open the page” met detail “unknown error” ((null):10053)”, maar misschien moet ik Safari 3.0.3 eens installeren om ook dat te hertesten? Mijn vertrouwen in de Apple-bughunters staat alleszins in het zenit, dat wordt me daar een fantastische browser mensen! 🙂

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.

Terug naar de command line!

ms word screenshotMijn echte fans weten het al, ik ben zelfverklaard lid van de Kerk van de Penguïn en aspirant Command Line Ridder. De command line (CLI) is misschien niet de meest vanzelfsprekende user interface, maar het is schier onmogelijk om de ongelofelijke kracht van taal (want daar gaat het op de command line over) om te zetten in een visuele representatie. En het lijkt erop dat taal als ‘aanstuurmechanisme’ aan een comeback toe is!
De kracht van taal
Is het toeval dat de bekendste internet-applicatie (Google eh pippo, niet Second Life) puur op basis van taal werkt? Waarom is desktop search één van de belangrijkste functionaliteiten in Windows Vista (en daarvoor al in Mac OS X Spotlight en in Google Desktop)? Omdat taal een ongelofelijk krachtige manier is om software aan te sturen. Een meer traditioneel CLI voorbeeld misschien nog; om de hostnames van alle unieke bezoekers van deze blog te vinden die mijn babelfish-vertaling-hack gebruiken (en dat zijn er niet bijster veel, waar zijt ge eigenlijk mee bezig Goossens?), plak ik de in- en output van enkele commando’s met een paar pipes aan elkaar tot ik iets als dit heb:

grep babel wwwlogs/e-cafe.be | grep 302 | cut -f 1 -d ” ” | sort | uniq | nslookup – | grep “name = “

Et voila, daar staan ze alle twee. Dat kan natuurlijk ook in een grafische gebruikers omgeving (een GUI), met pakweg MS Excel. Maar daar ben je dan wel echt net iets langer mee bezig (ik tel een 10-tal stappen, van het openen van Excel over het importeren van de data met de wizard en het toepassen van 3 filters tot het scripten van de nslookup).
GUI vs CLI
Maar dit is niet de zoveelste anti-MS blogpost, in Mac OS X en zelfs in al die Linuxen is de grafische user interface ook de de facto omgeving. Shell-scripten (bat-files! cmd.exe!) kan ook in Windows en wat meer is, Microsoft heeft onlangs PowerShell uitgebracht (gratis te downloaden) waarmee ze -in eerste instantie voor sysadmin-taken- volop voor de kracht van de CLI gaan. Nee, het gaat me hier eigenlijk over het feit dat een grafische interface, met die mooie icoontjes en geneste menu’s, in bepaalde gevallen eigenlijk minder gebruiksvriendelijk en productief is. Zoals een niet-grafische interface voor bepaalde taken (bv. het bewerken van foto’s) ook minder geschikt is. En -hier komt mijn langverwachte pointe- dat een hybride vorm van een GUI en een CLI ons op dat vlak misschien de toekomst is.
Best of both worlds
Enter Humanized. Dit klein Amerikaans bedrijf werkt verder op basis van de concepten van de inmiddels overleden Jef Raskin. Raskin was het brein achter de Macintosh en besteedde de laatste jaren van zijn leven o.a. aan Archy, een radicaal andere user interface. Eén van de eerste producten van Humanized, Enso Launcher, brengt een paar van de concepten van Archy nu naar Windows. And I love it!
enso learn as screenshot (from the humanized site)Eenmaal de “30-days free trial version” van Enso Launcher geïnstalleerd, is je shift-lock (ofte caps-lock) weggekaapt door de software (good riddance). Met die toets activeer je vanaf nu Enso om alle software op je computer op te starten door ‘open <programmanaam>’ in te tikken. Enso kent al je software al en zal, aan de hand van de letters die je invult, suggesties doen die je met de cursor-toetsen kunt selecteren (beetje zoals Google Suggest). Maar er is meer; je kunt Enso nieuwe commando’s leren (ik moet bv. enkel “open wr” typen en “write blog” te selecteren om hier te komen schrijven, of “open kcrw” om naar het fantastische kcrw te luisteren), je kunt via Enso een window (of tab in een browservenster) naar voor halen, Enso kan rekenen maken (klinkt stom, maar is eigenlijk best handig), geselecteerde tekst omzetten in lower- of uppercase, copy/pasten, googlen, …
Dat de Launcher maar het tipje van de Enso-ijsberg is, blijkt uit de presentatie die Asa Raskin op de Google campus gaf onder de titel “Death of the desktop”. Wie tijd heeft (het duurt algauw toch een uur en half, maar ) kan die hier bekijken.
Browsers?
mockup of bookmarks and search (from the google labs blog) Wie op de tags bij dit artikel let, heeft misschien al gezien dat ik dit ook onder ‘browser’ heb gecatalogeerd. Waarom? Wel, ik las op de Firefox Labs blog dat men daar overweegt om bijvoorbeeld de search-box op die manier te ontsluiten en om tekst-gebaseerde bookmarking te introduceren. Als ik kijk naar de chaos in mijn diep geneste bookmarks-folder, dan kan ik me het voordeel levendig inbeelden. Dit wordt ongetwijfeld vervolgd!