Tag: Web

Google Chrome

I guess you all have downloaded Chrome already. If not, what are you waiting for? I’d like to congratulate my friends who have been working so hard on this. Congratulations Glen and Ojan. Also, I’d like to add that Chrome is totally awesome, and I’m not saying that because I work at Google. I’m saying ...

New Explorer Canvas Release

We finally got our act together and squashed some long standing bugs. This is the first bug fix release since we initially release ExCanvas over a year ago. Support for sub pixel rendering Crop content if painting outside the canvas initElement now returns a reference to the fixed element Fixes to arc Printing support Implement ...

The new Reader is so Good

I guess most of you tried out Google Reader when it launched about a year ago and I don’t think a lot people tried it twice. I’ve been using it for the last year (no more Sage for me) but it had some serious drawbacks. The new Google Reader on the other hand is just ...

coComment

When coComment first came out I was totally excited. The goal of coComment is to keep track of all the worlds web comments. Basically this allows me to see when someone replies to a comment to a blog without me going back to look at that page. This is something I have wanted a long ...

IE 7 DOM and JS Changelog

Here are the DOM and JavaScript changes in the latest version of Internet Explorer 7, as well as the planned ones for the final release, since Internet Explorer 6.0 which was released in 2001: Begin Changelist ----------------- ----------------- End of Changes

WebOS in the News

In 1999 I was working at a company called WebOS that was doing a window environment and application platform that run inside the browser using techniques that nowadays people refer to as Ajax. It seems like it is time for companies to try the same concept again. Ars Technica and ZDNet are covering YouOS (which ...

6 Months at Google

Maybe my little April fools joke was a bit too obvious. Me leaving Google for Microsoft? That would never happen. I don’t think anyone ever left Google for Microsoft and there is a reason why. Google is just awesome. At Google I got to work with the smartest people and they have all of the ...

ExplorerCanvas

Over the last few months, me, Glen and Emil have been working on an open source version of canvas for Internet Explorer. The implementation uses VML and IE style filters (for image rotation, rgba and globalAlpha). It implements most of the specification but some areas are a not implemented (for example composite drawing, patterns, radial ...

JS Generics

With JavaScript 1.6 Mozilla introduced generic version of a lot of the Array and String methods. Without broad support these very useful methods are in reality only available to Firefox and Firefox extension. Personally I’ve become too used to them to survive long without them. I’ve previously posted the JS 1.5 array extras and I’ve ...

Don’t trust this guy

I was reading through an article about Atlas at eWeek where they quote Russ Nemhauser, head of Nemhauser Media Inc.: “JavaScript is not an object-oriented language. It does not have strong typing; there is no exception handling; and there is no inheritance. One of the biggest problems with the AJAX approach is the amount of ...

IE7b2, is it intentionally this bad?

Here are just a few things that are incorrect, horribly broken or totally non-existent in Internet Explorer Beta 2. (This is far from a complete list. I’m assembling this list as I’m writing this post.) DOM Level 1 Core Comments are still incorrect Attributes are still horribly broken DOM Level 2 Views document.defaultView getComputedStyle getOverrideStyle ...

Emil is on Fire

Emil has been really active lately. Not only did he emulate canvas in IE, he also used it to create a slick charting control for WebFX. On my end: Google is really awesome, San Francisco is the best city ever and my girlfriend is super sweet.

The W3C’s Response to HTML5

So it seems that the W3C are finally realizing that XForms and SVG 1.2 is not going to replace the web. Today they annonced the Web API Working Group which is basically doing exactly what the WHATWG has been doing for more than a year. I really hope that no one is reinventing the wheel ...

Opera 9 Preview

Some highlights/rants of a great product. Improved SVG support Initial DOM support. In 8.5 one could not manipulate the SVG using scripting. Opera now partially supports using CSS with SVG (no :hover support). Canvas Support This is dog slow… they really need to do something about it or remove it entirely. Web Forms 2 Basic ...

Free Opera

Opera web browser has broken the chains of ad-ware. The desktop version is now free. Opera is the fastest browser on the earth. It has excellent HTML, XHTML, XML, DOM, CSS, and JS support. It also supports SVG tiny.

Atlas Comments

Last night I looked a bit at Atlas and its Quick Start tutorials. With the risk of sounding like I hate Microsoft I’ll write down some thoughts… Atlas is nice. I really like a lot of it. There are tons of things that I don’t like but the initial reaction is that this might end ...

For Each Loop in Mozilla

I’m not entirely sure when Mozilla started to support for each loops but I guess it was part of the E4X code checkins. Anyway, I was totally shocked when I saw it and I fired up a quick test. var o = {a: "A", b: "B", c: "C"}; for each (var v in o) { ...

Fixed Atom 1.0 Feed

When Atom reached 1.0 I updated my Atom 0.3 feed to a 1.0 template I found on the internet. Unfortunately there was a bug in it. I don’t know if it ever worked? I thought it did… well, now I’ve fixed the bug in the given template. While debugging this I managed to delete my ...

Ajax is so 1999

Like you didn’t know that already? Scott Isaacs from back in 1997 has a series going at his blog. Scott is one of the original DHTML guys and he wrote useful stuff when most other people were stuck on animating layers. He is also one of guys behind DOM level 1. Well worth a visit ...

Stop-Reload-Button in Firefox

One nice little extension I usually install on Firefox is an extension that merges the reload and stop button. It hides the stop button when it is disabled and shows the reload button when the stop button is not available. However, the extension is not compatible with DPA2 or the latest nighlies. After installing and ...

Some Real IE7 News

I guess you all seen and maybe even tried Internet Explorer 7 Beta 1 by now. To me it wasn’t very surprising. Dissapointing? Yes. Well, according to Chris Wilson, the following bugs have already been fixed and we’ll see them in beta 2: HTML 4.01 ABBR tag Improved (though not yet perfect) <object> fallback CSS ...

Screen Readers Suck

There has been some mumbling about accessibiliy and javascript for quite some time now and today I read the following at the DOM Scripting Task Force blog: It’s also all but impossible for some applications, such as Google Maps. In fact, after some preliminary testing our own Derek Featherstone was so dismayed by the state ...

DOM Scripting Task Force

I guess you’ve all seen the DHTML… ehmm… DOM Scriptiping Task Force over at The Web Standards Project by now. It’s about time someone realized that DHTML is not just An outdated scripting technique that is mainly characterized by the changes it makes to the style properties of certain elements, and by the use of ...

JS: The Good, the Bad and the Ugly

An article comparing JScript and VBS got me some ideas about what I think should be added to JS 1.6. Date I like the Date object in JS but it needs a lot of improvements. These following things are really missing: Localized weekday name Localized month name Week start day Week number (localized because it ...

And and Or in JS

The logical and (&&) and the logical or (||) are two really useful operators in JS. The following holds true: a || b results in a if Boolean(a) == true, otherwise b a && b results in b if Boolean(a) == true, otherwise a Using this one can often simplify expression a lot. For example: ...

MSE – Microsoft Script Editor

Microsoft Script Editor is probably one of the lesser known tools that can really make a difference when it comes to developing web applications. MSE is a debugger, much like Visual Studio and it comes bundled with Microsoft Office. It should not be mistaken for Microsoft Script Debugger which is a piece of crap compared ...

DOMParser for IE and Safari

A few days ago Dave over at the WebGraphics blog posted about how to parse a string into a DOM tree for Safari. I commented “How about implementing the DOMParser object in js?” and before I knew it I did it myself and adding IE compatibility on the way: if (typeof DOMParser == "undefined") { ...

XSLT in JS

I know this one is not too new but is still very interesting. Steffen Meschkat has created an XPath, XSLT and DOM engine written in pure javascript. Steffen works for Google and I believe this excellent piece of code was written in his 20 percent time to allow Opera and Safari to work with Google ...

Updated Live Search

I took the time to update the Google Live Search Greasemonkey script a bit to make it a bit more defensive. While I was messing with I also added code to update the links above the search field to go to the search terms that the last result used (instead of the search term the ...

Google Live Search

This is a script for Greasemonkey that modifies the Google search page to make the results show up as you type. Steps to install: Install Greasemonkey Once that is done you can right click the following link and select Install User Script…: googlelivesearch.user.js The Details When the user types in the search field the browser ...

Object.prototype is verboten

It is not seldom that you see people messing with Object.prototype. This is very bad because it breaks the object-as-hash-tables feature in javascript. Basically, the following is a very common scenario: var obj = {a: "A", b: "B", c: "C", d: "D"}; for (var key in obj) { doSomething(key, obj[key], obj); } if ("b" in ...

Array Extras

With the upcoming Firefox 1.1 release (and other browsers based on Gecko 1.8) things are starting to move in javascript land. During the early years of javascript a lot happend but then came the ambitious plans ofJS2 and the improvements to js just kind of died away for no reason. It seems Mozilla is finally ...

The List

Emil reminded me of Joel Spolsky’s list of things that cannot be well done in a web application Create a fast drawing program Build a real-time spell checker with wavy red underlines Warn users that they are going to lose their work if they hit the close box of the browser Update a small part ...

Client Side Real Time Spell Checker

I knew Emil was playing around with a real time spell checker written in DHTML and it got me very excited. This is probably a big milestone in our field and now that he let the cat out of the box I cannot express my amazement over the talents that this guy has. See the ...

JS, Encoding and XMLHttpRequest

I run into a quite strange issue today. Basically the problem was that a javascript file was encoded using ISO-8859-1 and contained some weird characters. It worked fine in a plain HTML script tag that included the external file. However it did not work when the file was loaded using an XMLHttpRequest (MSXML has exactly ...

Errors and AJAX

XML.com has an article called Errors and AJAX where they suggest that client side errors should be reported back to the server for logging. This sounds a bit familiar to me. Me and Emil did the same thing back in 1999. I guess it all comes back around sooner or later.

Ecma Script Template Engine

Lately, I’ve been feeling quite creative. I guess I can thank World of Warcraft for that. Or actually the other way around. I got out of my addiction after a week in USA and I decided that I would not touch it again. Lately I’ve been looking at simpler ways to output data received from ...

playground/tunage

Since I’m now a proud musikCube user I thought I would use one of its nice feature, called Tunage, to display the currently playing song here on my weblog. It sounded fun and most importantly small enough to do in a few hours. I had a pretty clear view of what I wanted in the ...

InnerHTML is Evil

The usage of innerHTML is most likely the most widely spread non standardized DOM feature available today. It was introcuded in IE4 back in 98. Setting innerHTML parses the string as HTML and replaces the content of the element with the nodes generated by that HTML string. Very useful indeed. But like most things, innerHTML ...

Tips, Tricks and Recommendations

I think I came up with quite a few good subjects to cover here at my weblog. I will be posting tips, tricks and recommendations covering JavaScript, DHTML as well as designing APIs. These are all of course my personal views and based on experiences from both WebFX, WebOS, Bindows as well as from my ...

Opera adds SVG Support

Opera has added support for SVG in their browser. Their mobile browser, that is. Since Opera is using the same code base for Windows, Unix, Mac as well as lots of mobile platforms it would not surprise me if we would see this being added to their desktop browser as well. With Mozilla 1.8 having ...

IE7 Beta

I think you have all seen the news about the Internet Explorer 7 beta which is planned for the summer. Nothing has really been said about it more than it will include some anti spyware technology. Meaning: IE6 + Microsoft Antispyware in one and the same installer Seriously, I wonder what it will include? Will ...

DHTML Universe

Alex Russel of netWindows fame, has created a graph containing people in the DHTML Universe and how these relate to each other. Very nice work.

Delegates in JS

I think we’ve all made the mistake while we are doing OOP in JavaScript with this not pointing to what we expected. this.obj.onfoo = this.handleFoo; In the code above this inside handleFoo would point at this.obj and not at this. This is usually worked around with the cumbersome code: var self = this; this.obj.onfoo = ...

Bindows Developer?

The following is available in Swedish only but we don’t really care whether you know Swedish or not: Intresserad att jobba med Bindows? Vi har nu annonser ute pa Computer Swedens hemsida Utvecklare Programmerande Teamledare

Interview with Emil

Me and Emil had the honor of being interviewed by Scott Barnes at MossyBlog.com. I really enjoyed reading Emil’s answers even though we have discussed these questions before so the answers were not really any suprises. ps. I cannot believe I forgot to mention SVG. Another interesting subject would also be to write something about ...

Simple HTML Parser

I’ve been searching high and low for a simple HTML parser. I need a simple HTML parser, written in JS, that has a SAX like interface so that I can filter out potentially unsafe content. I’ve looked at existing Perl, Java, C (and more) parsers but they are either too much or rely to much ...

Google snags another one

Aaron Boodman of Youngpup.net, one of the best DHTML programmers in our time, started working for MSFT a while back but now he is leaving for Google. Good luck!

Change from MT?

I’m considering switching from Movable Type to WordPress. The main reason is that I fucking hate how MT has to rebuild everything all the fucking time. Why not build it upon first request and then cache it? Wanted features: Needs to run on BSD, Apache 2, MySQL or PostGreSQL (Perl, PHP, Mono, Whatever++) Should be ...

No XHTML, No SVG in Longhorn

At the recent W3C workshop covering Web Applications and Compound Documents, Microsoft said that there will be no support for XHTML and SVG in Longhorn. Ian Hixie, who works for Opera, is a member of the CSS and XBL work group at W3C and who also is a major contributor to Mozilla (used to work ...

Noscript Expand Element

Scott MacGregor wanted some help with improving the way the vCard attachments are drawn in Thunderbird. Since Thunderbird uses the world leading rendering engine he felt that the old way to show the vCard was just too boring. Then TaSK came up with a good looking Photoshop mock-up. However, these have a serious issue and ...

Updated PNG Behavior

I’ve udpated the PNG Behavior to work better when printing. I knew that the PNG images were not being printed but I thought it was just a matter of adding a print style sheet but IE is not detaching the behavior when printing so I had to revert to the IE proprietary events, window.onbeforeprint and ...

Sortable Table and Tasman?

I got an email claiming that Sortable Table does not work in IE Mac. This is part of my reply and since I feel that I cannot get Sortable Table to work in Tasman without help I’m posting this here. We do want Sortable Table to work in Mac IE 5 and Mac MSN but ...

CSS is Old

I read at Foo’s blog about some guy who finally understood what CSS is all about. It just made me realize that I was separating style and content back in 96. Sure, IE3 wasn’t doing marvelous things with CSS but at least seperating style from content was available already back then… that makes it 8 ...

Bindows 1.10 is Out

Yup, on a Sunday. I don’t know why we said that we were going to release this on a Sunday but you got to keep what you promise. The most interesting part of Bindows 1.10 is the new tree view control. I was personally pretty stoked when I got a DOM document to work as ...

MSXML GetHashCode

Does anyone know how to get a unique identifier for an IXMLNode for MSXML? I’ve tried googling around for this without finding a solution. In Mozilla I can just use expando properties but expandos do not work when using ActiveX objects. I think I’ll probably have to use an array and then use the index ...

WebFX Ends IE Support

We’ve decided to stop supporting Internet Explorer at WebFX. A long time ago we told Netscape 4.x users to upgrade and now it is time for all the Internet Explorer users to start experiencing the web the way it was meant to.

RCC moves out of SVG 1.2

In the exisiting working draft for SVG 1.2 the W3C adds something called RCC. RCC is a way to define custom elements in SVG. It is very similar to XBL and tries to solve the same issues as both XBL and Microsoft’s behaviors has tried to solve before this. I’ve previously commented about the duplicate ...

DHTML Windows

Yesterday I got an email from a lawyer involved in a patent lawsuit regarding DHTML windows. That is internal windows, inside your web browser created using DHTML. I’m almost sure we had DHTML windows in 1997 or 1998. The lawyer is looking for prior art (before Januarey 1st, 1999). I’ve yet to find any proof ...

IE7

Dean Edwards is on a killing spree. A few weeks back I posted about his MS behavior emulation for Mozilla. Now his goal is to improve IE6 to support more standards, mostly CSS2, using scripting. The main idea behind the script is to go through the CSS rules and modify them to rules that IE ...

SPAM Overload

These last 24 hours I’ve been getting around 500 spam mails per hour. The amount of spam we get actually forced us to turn off Spam Assassin and the virus checker running on our mail server because these were making the server come to a crawl and making anything email related too painful to accept. ...

Internet Explorer is removing support for URIs

Forget everything I say below. I’m an idiot. Read the comments to see why. As I mentioned in an earlier post IE is having some very serious problems with URIs that contains user names and passwords. Support for user name and passwords is a required part of the URI specification. Now, instead of fixing the ...

Sortable Table Update

It’s been almost a whole year since we last posted any real updates to WebFX. I finally got together and polished Sortable Table 1.1. I hope this update makes a few people satisfied because it makes it very easy to add custom sort types. function parseUsDate( s ) { var parts = s.split( "/" ); ...

Mozilla Behavior Emulation

Dean Edwards has created an XBL binding that allows Mozilla to use IE behaviors. This is something I’ve thought about doing but I put that on hold because Mozilla does not allow custom style properties. Dean, however came up with a pretty good solution. He uses the id of the binding as the URI to ...

The War of the Web, Part 2: Microsoft vs Macromedia

It is now more or less obvious that the browser wars are dead for good. But that does not mean that the battle of the web is over. This time the main battles are all about Rich Internet Applications. A few weeks back Microsoft introduced Avalon and XAML. Now it is time for Macromedia to ...

Eric Lippert

If you like JavaScript, the programming language, as much as I do I think you’ll really like Eric Lippert’s weblog. Eric is a Microsoft developer who works worked with JScript (the language and script interpreter/compiler) so he knows what he is talking about. Eric confirms my theory about memory leaks in Internet Explorer in this ...

XAML Comments

Ian Hickson (from Mozilla, Opera and W3C) has some good points about XAML. Well actually he never mentions XAML, Microsoft nor Windows but we all know what he is talking about.

XAML: First Impressions

Finally, the facts are out for XAML. I’ve been waiting for this release for a few years now. Prior to this it has all been roumors and speculation. First impressions: Very Mixed The first things that struck me was how MS reinvented everything. A lot of your exisitng experience for writing applications are totally wasted, ...

Safari Raises the Bar

This makes me wish Safari was available for Windows. Safari 1.1 has some really awesome features (I’m voting for these in Bugzilla for Mozilla). How about these goodies: Support for CSS3 RGBA colors. I’m not sure this is a complete support. Dave Hyatt just lists the most important properties. (Bugzilla Entry) Support for CSS2 text-shadow. ...

XAML is Emerging

Ryan Dawson writes at his Longhorn Blog about XAML. If you don’t know what XAML is you should read Ryan Dawson’s entry first. XAML is Microsofts version of XUL. I like XUL but without the installation base it is not a viable alternative to using DHTML for creating zero footprint rich client web application. For ...

Bindows in the Blogs

There has been a few blogs about Bindows while I’ve been on my vacation (as well as a few 100 messages in the Forum) Don Park writes: It seems pretty slow though. I suspect that most, but not all, of the slow speed is due to the server-side misdesigns. Bindows is a client side only ...

Re: IE and XHTML

In response to Houser @ HouserDesign.com and his message at Foo’s blog: There seems to be some misunderstanding about that IE supports XHTML. IE supports XHTML equally good as Netscape Navigator 4.x and Mosaic. Just because you can write an HTML document using well formed XML does not mean that is XHTML. Neither does adding ...

CSS3 External Links

I’ve added icons to external links. This is acheived using the CSS3 not() selector and the new starts-with attribute selector. a[href]:not([href^="/"])::after { padding-left: 0.2em; content: url(/images/globe.12.png); } Too bad this will not be seen by the majority of the users for at least 2 more years. (IE rant #2).