Simon Willison’s Weblog

Subscribe

Entries in 2003

Filters: Type: entry × Year: 2003 × Sorted by date


More required reading

Via Craig, Big John and Holly Bergevin present Float: The Theory and Flowing and Positioning: Two Page Models. Both articles take a complex topic and present it in clear, straight forward terms with excellent illustrations and the kind of insight in to browser bugs (in particular the vagaries of IE) that you just won’t find anywhere else.

[... 67 words]

Browser testing utopia

10 browsers on one Windows machine, including 5 different versions of Internet Explorer

[... 41 words]

Innovation chez Orchard

Dunstan Orchard’s great looking blog has had a whole bunch of upgrades, and some of them are pretty interesting. Firstly, he’s taken my blockquote citations script and modified it to handle citations that aren’t links in an intelligent way. He also now has a comment spam blacklist (I really need to work out the syndication details for that and publish some code).

[... 169 words]

Full page zoom

For as long as I’ve understood the issue, I’ve been an advocate of liquid layouts over fixed widths for web page design. Liquid layouts are layouts like the one used by this site, where the page adjusts to fix the size of the user’s browser window. Fixed widths on the other hand are sites such as LJWorld.com where the width of the page is fixed no matter how large or small the browser window gets.

[... 401 words]

Multiple Internet Explorers

In possibly the best news web designers will hear this year, Joe Maddalone of Insert Title Web Designs has discovered a way of running multiple versions of Internet Explorer on one installation of Windows! The problem of testing in different versions of IE has plagued developers for years, and it’s fantastic to see a solution that doesn’t involve running multiple partitions with separate Windows installations or shelling out for VMWare or VirtualPC.

[... 204 words]

Usability guidelines available online after all

In an earlier entry about Usability.gov’s Research based Web Design & Usability Guidelines I criticised them heavily for not providing an HTML alternative to the huge PDF file containing the guidelines. It has since been pointed out that the guidelines are in fact also available as HTML. I’d like to apologise to the authors of the site, although I would also like to suggest that they add a link to the HTML version from the PDF page. Thanks go to Adam Bramwell for alerting me to my mistake.

[... 109 words]

easytoggle and debugging in Safari

I’ve been working on a new inobtrusive DHTML effect: easytoggle, which is an inobtrusive implementation of the common effect where links or tabs can be clicked to reveal part of a page while hiding the other parts. It’s similar in some ways to the Multi part forms with Javascript technique.

[... 548 words]

Javascript Mojo

Stuart Langridge has released a couple of very neat new Javascript experiments. sorttable makes any data table on a page “sortable” by clicking the table headers. I’ve seen this effect used to demonstrate Microsoft’s proprietary “behaviors” technology but Stuart’s solution has the advantage of being standards compliant and working across different browsers. Best of all, it follows the principles of inobtrusive DHTML and hooks in to the markup using only a class attribute.

[... 257 words]

Web design and usability guidelines

Usability.gov’s Research-Based Web Design & Usability Guidelines lose instant credibility for being available only as a 39.2 MB PDF file [ Update: this statement is incorrect—see my correction ], with all of the usability and accessibility problems that brings with it. I’m on a fast connection here so I downloaded them anyway to have a look. There’s actually a lot of good things I can say about them—the document is attractively laid out, the guidelines clear and easy to follow and each is backed up by references to academic research (hence the title). There are however some guidelines with which I completely disagree, in particular the ones in chapter 4, entitled “Hardware and Software”:

[... 431 words]

That G5 Cluster

Confessions of the World’s Largest Switcher is the best coverage I’ve seen to date of Virginia Tech’s 1,100 Dual G5 Mac cluster, now the third fastest supercomputer in the world and built for a fraction of the price of its rivals. Mac Supercomputer Just Got Faster on Wired has some more information.

[... 54 words]

Halloween Decorations

Spotted so far:

[... 66 words]

Shooting yourself in the foot

Kimbro Staken on DRM: The record companies can be proud that they’ve so thoroughly screwed things up that there really isn’t even any point in paying for music now.

[... 36 words]

Nvu

Launched today by Lindows, Nvu is a new project to develop a complete “web authoring system” (aka Dreamweaver/Frontpage style WYSIWYG editor) for the Linux platform. Reading around the marketing hyperbole, What it actually is is a standalone version of Mozilla’s Composer with a whole bunch of improvements and extra features, scheduled for release in early 2004.

[... 413 words]

Defeating browser incompatibilities

Peter-Paul Koch has unveiled his new site, QuirksMode.org, which features over 150 pages of cross browser CSS and javascript tips and tricks. Five months in the making, there’s just too much good stuff to link to individual pieces here so my best recommendation is to head on over there and spend some time browsing around. I’ll make an exception though in linking to the Table of Contents script, which uses the DOM to create an additional navigation bar linking to each of the level 2 and 3 headers on a page. Another great example of the power of structural markup.

[... 108 words]

Getting my stripes

Well colour me yellow and black, I’ve just become the latest member of the web standards project! I’ve been an avid supporter of the web standards movement for over a year now—in fact, my first ever entry linked to their launch of Phase II. It’s a great honour to be a part of something I’ve supported for so long and I hope to become heavily involved in the Learn campaign, which aims to provide resources to developers who want to learn to use web standards effectively. I’m joining a truly talented team and I look forward to helping encourage web professionals to adopt standards and make the web a more interoperable place.

[... 121 words]

PCs for non-geeks

A couple of interesting links about the security problems faced by the vast majority of the home PC using public, who don’t know how to install security updates (or even what they are) and don’t have a corporate IT department to bail them out when they run in to problems. Joe Average User Is In Trouble is a column by a security expert bemoaning the scale of the problem. Do we all need a personal system administrator? is a call for advice from Steve Garrity for tips on minimising the support calls he gets from his parents, and includes an excellent response from Matt Haughey in the comments.

[... 230 words]

Optimising Python

Some great tips for optimising Python, courtesy of Ian Bicking:

[... 124 words]

Avoiding RSI

I’m pretty sure I’ve never had RSI, but occasionally my wrists feel a little sore after spending time at the keyboard and I know enough about it to know that I really don’t want it. This weekend I started using WorkRave after spotting a link to it on Meri’s blog. It’s a neat little application for Linux and Windows that sits in the background and reminds you to take short breaks from the keyboard every once in a while. Following the suggestion from the FAQ I have it set up to encourage a 15 second “micropause” every 10 minutes and a 5 minute proper rest break once an hour. It’s too early to stay if I’ll stick with it or get annoyed and turn it off, but I have to admit that I have been feeling a bit more comfortable at the keyboard. Whether that’s purely a psychological effect from using it or the breaks are actually making a difference is hard to tell.

[... 176 words]

Capturing the power of re.split

A couple of Python tips. The first is really a tip for Mozilla/Firebird: You can set up a Custom Keyword for instantly accessing Python module documentation using the string www.python.org/doc/current/lib/module-%s.html—I have this set up as pydoc, so I can type pydoc re to jump straight to the re module documentation. I only set it up half an hour ago and I’ve already used it about a dozen times.

[... 478 words]

XUL in Safari

Safari 1.1 is included with the new release of Mac OS X, Panther. From Dave Hyatt’s list of Safari 1.1 features:

[... 149 words]

The difference between POST and GET

How important is the ability to tell the difference between data sent by POST and data sent by GET (i.e in the query string) when developing web applications? Some web frameworks (such as PHP) provide separate mechanisms for accessing POST and GET data. Others (such as Python’s cgi module) provide a single interface to form information that doesn’t distinguish between the two. I already have a strong opinion on this but I’m going to leave it open for discussion here for a bit before weighing in.

[... 90 words]

Microsoft’s XUL

According to this Microsoft blogger the reason IE development has seemed quiet of late is that they’ve been working hard on XAML, an XML Application Markup Language which is a way to create applications in the browser (or out for that matter) [...] It is basically an XML structure with CSS and JavaScript. The CSS defines the appearance and the JavaScript dictates behavior.

[... 265 words]

Progressive page updates

Now this is cool: The joy of flush() shows how PHP’s flush() function can be used to send data to the browser before a page has finished rendering. Check out Ben’s demo page to see the trick in action.

[... 155 words]

Pair Programming

I’ve spent a few hours over the last two days pair programming with Adrian. We’re working on a pretty huge project at the moment, and we’ve just started work on the coding phase, overlapping the design phase. I had tried pair programming a few times before with some success, but this time in particular the benefits of the approach were crystal clear. In total, we’ve defined 4 database tables, a number of functions and a simple class. Working separately we would almost certainly have created more lines of code. However...

[... 373 words]

Knoppix

So, I finally tried Knoppix today. I’d heard a lot about it and was ready to be impressed, but it still took me by surprise. If you haven’t heard of Knoppix, it’s a full Linux distribution on a CD that is designed to boot straight from the CD, without you needing to install anything and without you having to worry about it modifying the contents of your hard drive.

[... 588 words]

Ward talks Wiki

Artima have published the first installment of Bill Venners’ Conversation with Ward Cunningham, which focuses on the Wiki. When asked how readers can get a bigger picture of what is going on in a Wiki, Ward responds with this:

[... 212 words]

A List Apart Again

A List Apart has unveiled the long awaited redesign, and is celebrating it’s third manifestation with three brand new articles.

[... 339 words]

Language wars, distilled

A snippet from Every Language War Ever:

[... 49 words]

Google’s Internal Blogs

Evan Williams on Google’s intranet weblogs:

[... 149 words]

Using XPath to mine XHTML

This morning, I finally decided to install libxml2 and see what all the fuss was about, in particular with respect to XPath. What followed is best described as an enlightening experience.

[... 576 words]