RSS in Firefox

Firefox (and, I assume, most other modern browsers) does some clever magic when viewing RSS feeds. It doesn’t show the raw XML, but instead shows a neatly formatted version of the page along with a button allowing you to subscribe to the feed in your favourite feed reader.

That, at least, is how it’s supposed to work. It doesn’t always work quite like that.

I’ve received an email about my newsfeeds page which points out that the feeds for The Times don’t seem to work correctly. If you go to a Times RSS feed (here’s their top stories feed as an example) you get the raw RSS XML instead of the standard Firefox RSS viewer.

So there’s something about the Times RSS feeds that means that Firefox doesn’t recognise it as an RSS feed. I’ve had a quick look, comparing the HTTP header that is returned to the header returned by a Guardian feed but I can’t see anything obvious. But there must be something that is controlling this behaviour.

Does anyone know how Firefox recognises an RSS feed? Or is there anyone from The Times reading who would like to investigate why their feeds aren’t working as expected?

Update: As pointed out in the comments, the problem is (rather obviously) that the Times feeds are being served with the incorrect Content-Type. There’s a whole can of worms about what the correct Content-Type should be, but changing it to text/xml should tell Firefox to do the right thing. I’ve emailed the Times pointing out the issue. Let’s hope they’re more on the ball than the Sun’s web team.

Update: Here we go again. The Times top stories RSS feed contains the following information:

But the mail I sent to that address bounced back as undeliverable.

: does not like recipient.
Remote host said: 550 Mailbox unavailable or access denied –
Giving up on

What’s the point of advertising an undeliverable address?

Too Clever By Half

I’ve just noticed that Firefox 2.0 is a bit too clever for its own good. It’s the new RSS autosubscription feature that’s the problem. It’s great that when I click on an RSS feed, it gives me the chance to subscribe to that feed in Bloglines. But it insists on doing that whenever I try to view an RSS feed. Even if I really want to view the feed in order to debug it.

Oh, I realise that the default behaviour is going to be far more useful to the vast majority of people. Most Firefox users are not going to want to debug RSS feeds. But it would be nice to be able to turn the cleverness off for those of us who do.

I’m just off to wade through the preferences dialogue boxes…

Update: Found it. Tools -> Options ->Feeds. When I click on a web feed – Show me a preview and ask me which feed reader to use.

New Browsers

Last night I downloaded and installed two new browsers.

Firstly I booted my laptop into Windows for the first time for months (it’s the only computer in the house that has Windows installed) and installed IE7. First reactions? A big “so what?” It’s (obviously) a vast improvement on IE6, but I can’t see anything that will obviously draw Windows-based Firefox users back to IE. My big hope for it is that it will be adopted by IE6 users really quickly so that web designers (and I, laughably, like to include myself in that group) can stop using the horrible hacks that are needed to get round IE6’s nasty broken implementation of CSS.

Then, back on home ground in Linux, I installed the release candidate for Firefox 2.0 (the full release is expected within the next couple of weeks). I didn’t have long to play with it, but it seems pretty good. I’ll keep using it as my default browser for a few days and see how it goes.

Firefox vs Internet Explorer

A nice rant by Kate Bevan in today’s Guardian technology supplement. She’s fed up of going into corporate clients’ offices and finding that Internet Explorer is the only browser available. Firefox has been available and stable for 18 months. Why do corporate IT departments still insist on forcing IE onto their users?

So being dumped in front of a computer that insists on using IE is a nasty shock. For starters, only the beta of the very newest version – IE7 – uses tabbed browsing. Command-click on a link in any other version and it opens a new window. One office I regularly work at deploys ancient iMacs running a five-year-old operating system. Open more than two IE windows and it crashes. Bashing the keyboard or mouse won’t work – you have to go nuclear and pull out the power lead.

I have plenty of sympathy. IE is the corporate standard for my current clients. In fact I’ve recently learned that downloading and installing Firefox might be considered a sacking offence as it’s not on the list of approved software. But I’m prepared to take the risk as asking someone to develop web applications using IE constitutes cruel and unusual punishment. But developing on Firefox for users who are going to be using IE has its own problems. I’ve lost count of the number of times I’ve written something only to find that it doesn’t work in IE.

Memo to corporate IT departments: Get Firefox installed. You know it makes sense.

Orange Web Site in Firefox

Large corporations with broken web sites are, of course, still very common. But with the new version of their business web site, Orange are breaking all records.

The main symptom is that Firefox users can’t click on any of the links. Clicks seem to just be ignored. Right-clicking on a link and selecting “open in new tab” still works, but that’s not a fun way to navigate a web site. Discussions on the Orange mailing list indicate that it works in IE and Safari, but little else.

Trying to work out how the page works in order track down the problem is a nightmare. The site is created by some horrible looking Java servlet engine. And there are large numbers of interacting Javascript files.

Firefox, of course, is helpful in tracking down the problem. Actually, it’s almost too helpful. Opening the Javascript console shows a huge number of errors. But clearing it and reloading the page shows that there’s a Javascript function (called dcsLoadHref) which isn’t getting defined. This function seems to be part of the click-tracking software that Orange are using and that this software is supplied by WebTrends. I can’t tell if the WebTrends software is fundamentally broken or if it’s just whoever implemented it on the Orange site who broke it.

There’s also some browser detection code in there as the site wants to use ActiveX if you’re running IE. I think it’s trying to use it to display a Flash presentation, but I don’t see why it can’t use EMBED or OBJECT tags like most sites do.

All in all it’s very broken and looks like a very amateur job. There has certainly been no testing of the site on anything other than IE and with IE market share falling, that’s an incredibly stupid mistake to make.

It’s worrying to think that even in 2006 there are still web design companies who buy into the Microsoft “one browser web” idea and even more worrying to think that there are big companies who will accept this view of the web.

Giving Software Away

An interesting story from Gervase Markham (who works for the Mozilla Foundation) which demonstrates that the concept of Open Source software is still confusing to a large proportion of the population.

A little while ago, I received an e-mail from a lady in the Trading Standards department of a large northern town. They had encountered businesses which were selling copies of Firefox, and wanted to confirm that this was in violation of our licence agreements before taking action against them.

I wrote back, politely explaining the principles of copyleft – that the software was free, both as in speech and as in price, and that people copying and redistributing it was a feature, not a bug. I said that selling verbatim copies of Firefox on physical media was absolutely fine with us, and we would like her to return any confiscated CDs and allow us to continue with our plan for world domination (or words to that effect).

Unfortunately, this was not well received. Her reply was incredulous:

“I can’t believe that your company would allow people to make money from something that you allow people to have free access to. Is this really the case?” she asked.

“If Mozilla permit the sale of copied versions of its software, it makes it virtually impossible for us, from a practical point of view, to enforce UK anti-piracy legislation, as it is difficult for us to give general advice to businesses over what is/is not permitted.”

Still some work to do in the advocacy area then :)

Guardian Unlimited Greasemonkey Scripts

One interesting use of Greasemonkey is to improve web sites that you don’t like the look of. This is useful feedback to the owners of the sites that are being “improved”.

With that in mind, I noticed a couple of Greasemonkey scripts that are for use on Guardian Unlimited.

Guardian Title Goodifier reorders the parts the title on GU pages so that the most useful part (i.e. the headline) comes first.

Guardian Blackener simplifies and darkens the design of GU pages.

Update: Guardian Blackener lasted less than a minute before I uninstalled it. The Title Goodifier is useful tho’.

Greasemonkey Arms Race

A few random thoughts came together in a vaguely coherent form on the way home from Opentech yesterday. Allow them to share them with you.

  1. For years we’re been trying to persuade web designers to move away from nasty “tag soup” HTML and to use clean semantic markup with stylesheets to control the presentation. This persuasion is starting to be effective.
  2. Greasmonkey allows end-users to remix web pages and change the presentation in ways that suit the users, not necessarily the owner of the web page. For example, there is a Greasemonkey that rewrites Amazon pages, adding a list of the prices of the current item on other web sites together with links to buy the item from these other sites.
  3. Some web sites may not be altogether happy with end-users being able to do this.
  4. There will therefore be some kind of arms race where content providers try to make it harder for technologies like Greasemonkey to change their pages and the authors of Greasemonkey scripts work to overcome these obstacles.
  5. A well marked-up web page is far easier to alter with Greasemonkey than one constructed of “tag soup”.
  6. Therefore one weapon in the war to prevent your web site being reconstructed by Greasemonkey will be the use of increasingly baroque HTML.
  7. Therefore Greasemonkey is likely to be a major setback in the attempt to encourage sites to use cleaner markup.

What do you think?

Update: Er… thanks everyone for pointing out the obvious errors in my thinking. The major problem was in point 5. It’s Firefox that parses the page, not Greasemonkey. Greasemonkey just traverses the DOM tree built by Firefox. If you break your page enough that the DOM tree is broken, then Firefox (and probably any other browser) isn’t going to be able to display your page.

I did say my thoughts were only “vaguely coherent”.

And I should clarify that I think that Greasemonkey and semantic markup are both damn fine ideas.

Move along please. Nothing to see here. Just some idiot waffling.

Bad People

The people running Eyeconomy are bad people. They encourage people who have web sites to use bad practices.

Take a look of their section on sub-sites. What they so innocuously call “sub-sites” are better known to the rest of the world as “pop-unders” – that is those extra windows that open underneath your existing browser window and stay there until you find them when you minimise or close your browser. Or, at least, they used to until you installed Firefox and got the benefits of pop-up blocking (you did install Firefox, didn’t you?)

See how proud they are of their technology. See how they use marketing terminology to make it sound like what they are advocating is perfectly acceptable.

And then see this chilling phrase towards the bottom of the page.

Coming soon – Total Pop-up blocker bypass system – Regain that lost traffic due to pop-up blockers with our new system which simply ignores the block and delivers anyway

Now, I know that it’s possible to get round most pop-up blockers. I’ve started to see it happen occasionally on Firefox. But that’s ok. A newer version of Firefox will eventually plug that hole. And then people like Eyeconomy will spend time getting around the improved pop-up blocking. And then Firefox will block the new pop-ups. And so on.

But what people like Eyeconomy need to realise is that pop-up blocking is popular for a reason. People don’t like pop-ups. And forcing pop-ups onto people when they’ve installed a pop-up blocker isn’t going to be a very popular move.

The lesson is that pop-ups just piss people off. You really don’t want to be using them.

Firefox Tip

A little Firefox tip that I just discovered. It makes it far easier to use web search interfaces.

Let’s take for example the TV programme search box on the Radio Times web site. It’s nn the left hand side of the page – a little text box labelled “search tv”. Now the usual way to use it would be to type in the name of a TV show that you are interested in and hit the “go” button. But in order to do that you need to get to the RT page first. And that all takes too much time.

So instead of typing something into the text box, point at it with your mouse and right click. One of the options on the menu is “Add a Keyword for the Search”. Select that menu item and you’ll get a dialogue box. Give the search a name (which isn’t really important) and a keyword (this is important) – I suggest ‘rt’. At this point you can also select which bookmark folder to store this search in. I suggest putting it in the “quick searches” folder. After filling all of those details, press the ‘ok’ button to create the search.

Now you don’t need to be on the Radio Times page to search for a programme. At any time you can simply type “rt ” in the Firefox location bar and it will run that search on the Radio Times site for you. For example typing “rt doctor who” will show you all of the times that Doctor Who is on over the next two weeks.

And you can set up the same thing for any site that has a search box like that. I have about half a dozen set up and they save me a lot of time.