IE8 WebSlices

The web world is currently alight with discussion around the new Microsoft Internet Explorer 8 software slated to be released later this year. The bulk of this conversation has been about whether IE8 will display pages with its much improved (it passes the Acid2 test) standards-complianct rendering engine. It seemed that we would have had to do some fiddling to get this to work but now it appear we don’t have to. That’s a good move, well done Microsoft.

I’ve just been and had a look at the website for the IE8 developer beta, and noticed something pretty interesting. they’re introduing a new feature called WebSlices which are like feeds for certain parts of web pages. Developers who add the required code to their pages will allow visitors to subscribe to updates of those sections of the page, which many of the same facilities afforded to RSS publishers.

My initial thought was that they’d have used some horrible proprietary syntax to make this happen, completely ignoring the established ways of doing this. But I was wrong. Almost.

Looking at the whitepaper for WebSlices it appears the IE8 team have taken large slices (excuse the pun) of the hAtom format to build their new feature. The main change being using a “hslice” rather than “hatom” class on the parent element of the feed. I’m not sure why they’ve done this, hAtom seems to do everything they need. Maybe it’s just Microsoft wanting to keep some level of control, maybe there’s something more to the story.

At any rate, this is is going to make it easier for developers to provide subscribable content on their web pages. Hopefully it will bring microformats – and web standards in general – to the attention of people traditionally deep inside the Microsoft world.

The Jazz Programmer

It seems everyone these days wants to be famous. However the vast majority of them don’t want to do the work required to be famous for anything worthwhile. They want to be famous for, well, being famous. They want to be rock stars.

The programming world seems to have been taken over by this attitude, with an increasing number of job adverts looking for a “rock star” developers. But is that really what the web and business in general, needs? I’m not so sure.

Ron Evans at Dead Programmers Society compares rock stars to jazz musicians, and I think the parallels can be easily seen with developers. I like to think I have a bit of insight into this area, being both a developer and having a degree in jazz (yes, really).

There are three basic ways in which programming and being a jazz player are similar:

The great thing about being a jazz player is the more you know the more you know you have to learn. The tough thing about being a jazz player is the more you know the more you know you have to learn. It’s the same with programming – there is no end to learning because programming, like music, is not a static thing. It changes, evolves, continually and you have to keep up if you want to succeed.

The great thing about being a jazz player is there are few rules. The tough thing about being a jazz player is there are few rules. Just like programming, the rules you follow are reasonably simple at heart. In jazz if you break the rules it doesn’t sound right; in programming if you break the rules then the application doesn’t compile. But even within those rules there is huge freedom of expression, a thousand ways to say/do the same thing.

The great thing about being a jazz player is the fact you can play “off” other people. The tough thing about being a jazz player is the fact you can play “off” other people. I work in a team of 6 developers, we all have our own styles and experience. We all share the strengths we have, and we create good stuff. Just like a band who gig together regularly, there’s an appreciation there of each other – even if we sometimes disagree about some things.

I owe a huge debt of gratitude to the many fantastically talented and graciously generous people around the web who have shared code, understanding and insight with the world. So too I owe a huge debt of gratitude to those people who through their music have shared much that is both tangible and ethereal with the world.

This entry is in memory of the late, great Oscar Peterson. Rest in peace, Oscar.

Target by name…

Roger Johansson is one of the leading experts on accessibility in website design. “Accessibility” means making sure that website will be usable by visitors with different abilities, experience, software and hardware. Just like it’s the law that you should not hinder disabled people accessing a shop, it’s a law in some places at least that websites should be accessible. Read here for more about website accessibility.

The big news for some time in accessibility circles has been the court case against Target which is now a class action, meaning any visually-impaired people who have had trouble using Target’s website can add their name to the growing list of disgruntled shoppers. Target tried to get out of the court case, and one of their arguments was that people having trouble using their site might not have bought anything anyway. They judge said:

“Target’s argument based on the speculative purchases would defeat most ADA claims. There is no requirement that a plaintiff who encounters physical accessibility barriers—such as a wheelchair user who confronts a store without ramps at its entrance—must provide a shopping list of products available at the store in order to proceed with an ADA claim,” the judge ruled. “Rather, it is sufficient that the (consumers who are suing Target) have alleged that they were denied access, by being diverted to another store, in order to meet the class definition.”

Which I think sums up the situation very nicely. Let’s get one thing clear: if you discriminate against people your business will suffer. By reducing the number of potential happy customers you have, or – as Target are finding out – by legal action.

Ubuntu for web developers

I’ve now been a home user of Ubuntu for 2 months, give or take. In that time I’ve booted into Windows XP a total of two times. Once to get photos off the wife’s phone using a Bluetooth application (I could use a USB lead in Ubuntu, I’ve since discovered) and once to get some details saved inside an application.

For what I do, Ubuntu is proving to be an excellent choice. The new version has fixed a fair few of my niggles, such as pane layout in FileZilla not being saved. So, for any other web developers out there who is sick of WIndows, or looking at a costly "upgrade" (I use the term loosely) to Windows Vista, here’s what I use daily in Ubuntu:

  1. SciTE, Scintilla Text Editor – a basic text editor, which is what I do all of my development in. It could have a few more features (I miss the PHP function list plugin for Notepad++) but as far as text editors go, it’s pretty darn good.
  2. The aforementioned FileZilla FTP application which I’ve used in Windows for a long time. It’s a great FTP package that does every thing I need it to do. The latest version is especially nice.
  3. MySQL Query Browser allows me to easily create and edit both the schema of MySQL databases and the data itself. It’s like a cut-down version of SQL Server Management Studio, without the screen-wasting, time-wasting, CPU-wasting rubbish. The Administrator tool is really slick, too.
  4. My weapon, sorry, browser of choice is still Firefox. I have to be honest and say that a few plug-ins don’t seem to work for me (Color Picker and Tidy being the most important ones) but Chris Pederick’s Web Developer Toolbar is perfect, and makes the ‘Fox the standout choice fo web developers.
  5. One of the most famous pieces of free software is the GIMP. I have to confess I’d prefer to use Fireworks (which runs in Wine, and I have a valid licence for … hmm) but for the graphic work I’ve needed up to now it’s been fine. Again, the new version makes a lot of positive interface changes.
  6. Although I’m just a one-man-band development team, I find source control is very useful. If nothing else then just for off-site backups. My tool of choice for commits is RapidSVN which works with my Subversion server.
  7. Open Office. Of course, what more can I say?
  8. For tunage I use RhythmBox, which I find to be fantastic. Being able to create CDs from playlists with two clicks makes life easier. The only downside is I haven’t found any keyboard shortcuts to move up/down tracks. I’m sure they’re there, as pretty much everything is when I look properly.

And when I get chance to do some music stuff, which isn’t often to be honest, I lay down the beats with the following:

  1. Jack‘s the boss. Audio and MIDI routing, and a centralised time server, all wrapped up in a little neat box. Some musicians studio pay thousands for this functionality.
  2. Ardour audio workstation, which records all of the audio-based stuff. Works with Jack like they’ve been best friends for years. The next version will have MIDI support, which is a bad thing for me as I’m male and therefore can’t have the children of the developers no matter how much I want to.
  3. Kicking the beats is Hydrogen drum machine, which I only recently started using but already love.
  4. ZynAddSubFx is a great little synth. There are loads of other synths I haven’t even got round to trying.
  5. Qsynth – Qt GUI Interface for FluidSynth makes working with soundfonts a breeze.
  6. I have to mention LinuxSampler (for which I use the front-end Qsampler) but in honestly I’ve not managed to get it playing GigaSampler files yet, which is the whole reason I want to use it. Can anyone help?

If you haven’t heard of these applications, or if you’re not even aware that there are good, free and – most importantly – non spam and ad-infested applications out there then hopefully this list has whetted your appetite. I have to admit I’m a fully paid-up fan of open source software, and Ubuntu in particular, and like Apple I find using Windows at home an increasingly tedious business.

More unobtrusive JavaScript goodies

If you want unobtrusive JavaScript on your page and don’t know where to start, try my recently updated Performer library.

It gives you a good selection of many of the basic features you want from JavaScript – easy AJAX, toggling the visibility of elements, resizing elements and many more. And all of that is done in an unobtrusive, degradeable way so if the visitor doesn’t have JavaScript they can still use your pages.

I’ve recently added two more functions:

Editor
Turns any simple text element (H1, H2, blockquote and many more) into an inline form when the text is clicked. This allows you to provide in-place editing for short pieces of text (usernames, password etc.).
Prompter
Adds a piece of text to a textarea or input type="text" element to prompt the user on what they should type in. The text disappears when they click into the element, and reappears if the box is still empty when they click out.

See demos of all the functions here, along with full documentation and the Performer JavaScript file.