Friends Reunited: How not to build a website

I got an email today from Friends Reunited, which I’m sure everyone knows well. Apparently they have a new website. My curiousity got the better of me. I wish it hadn’t.

Firstly the page I saw when I followed the “have a look at your brand new homepage” link looked like one of those full-of-advertising sites, and not a good one:

Friends Reunited 1

See? Ugh. Where’s the information about what’s new? Where’s anything?

Fortunately they provide a “Don’t show me this page again” link. Except, uh-oh…

Friends Inaccessible

It’s not a link. They’ve fallen for the old ASP.NET “let’s make every link, NOT a link!” trick. By using the ASP.NET PostBack “feature” they’ve made their site inaccessible to any visitors without JavaScript – including, and you’ll like this, Google. Let me be plain: ASP.NET PostBack breaks the web.

Now before anyone gets their knickers in a twist (hello, colleagues), here’s a caveat. Friends Reunited has people visiting using pretty much every permutation of browsing technology possible. They are a big, public site. And the web is, according to Douglas Crockford, “the most hostile software development environment imaginable”, so breaking the basic building blocks of the web is bad. Really bad.

It’s not that I don’t like ASP.NET, it has some fantastic features. Repeaters, for example, are genius. And recently I’ve been developing some custom controls which offers amazing power to the developer. Masterpages, too, are fantastic. But to get something so fundamental as links so fundamentally wrong, was BIG mistake on the part of Microsoft. And unfortunately, due to ignorance and many other reasons, too many developers write websites using PostBack – despite there being alternatives and plenty of help to escape it.

One of these days I hope to write a proof of concept showing how Microsoft could have built the same features as PostBack into ASP.NET, but without the pitfalls. Oh for more geek time.

Anyway, on with Friends Reunited. So I click the not-quite-a-link, still hoping that something great awaits me. Alas, it was not to be:

Friends Broken

Yup, I got an error. Oh well.

So it’s goodbye Friends Reunited. Not only do you have an inaccessible site, but one you proudly advertise to your users which promptly falls over at the first click. Not that it matters to me much, everyone uses Facebook anyway.

Easter

It’s not often I write about faith, at least not on a personal level. Time to remedy that. This picture from one of my favourite cartoonists jumped out at me and said something along the lines of “Why not?”. So, here I am.

Same cross. Different nails. I’m not sure what this picture meant to Hugh when he drew it, but for me it mirrors how I feel about various things at the moment. Time moves on, situations change, but we all carry the same cross. It’s just attached to us by different nails.

You see, things are in a state of flux at the moment, faith-wise. I’ve been a member of a fairly mainstream Church of England church for almost 5 years. But I’ve been treading water, to be honest. It’s easy to do that – especially if you know the church “drill” well.

But things need to change. It’s getting increasingly obvious that I have a responsibility to use whatever talents I’ve been given to make the church, the community in it and the outside community better. That sounds all grand and pompous, but of course I know I’m just one small wheel in the machine. But it only takes one wheel to get stuck and it affects everything. I think there’s something in the Bible which says something like that.

So what we, by which I mean the music group, are trying to change is firstly ourselves. If we can get a bit more real, a bit more passionate and heartfelt, a bit more sensitive, then maybe we’ll start having a positive effect on the church. This is, to put it bluntly, really scary and uncomfortable. Maybe we’ll do it, maybe we won’t. But after years of paddling at the edge it’s time I dived in.

Welcome to stillbreathing.co.uk 2009

Well, here it is. This new theme for stillbreathing.co.uk has been mainly designed by the great Paul Cook who worked with me for several years in a previous job. I’ve said on a number of occasions he’s the best designer I know, and that’s true. After all, I don’t know any other designers :0)

Anyway, he’s pulled a corker out of the bag with this one. Basically all the bits that look really cool (the very top and very bottom of the page) were done by him, the rest (the rubbish bit in the middle) was done by me. Hopefully I’ll be able to pick Paul’s brains at some point and put some finishing touches to the design.

However, this isn’t just a new design. It’s also the beginnings of a new direction for stillbreathing.co.uk which has been my personal site for *checks archives* ooh, October 2004. Basically I’m keeping this site for more personal things (which of course will include code), but I’ll be creating a Brand New Site for my freelance business.

I’ve mentioned the name of that new site a few times, but as it’s not even nearly ready for previewing I won’t link to it just yet. Still, along with the new PerformerJS.org site I hope to have that finished in the next few weeks.

One month on

No much to report from the People’s Republic of Yorkshire, although it’s been a busy old few weeks.Here’s a quick list of things I’ve been doing:

I’ve also aquired two second-hand laptops of varying vintages. New toys are always good, even if they aren’t really new.

New Performer website:

Performer - new website design

HTML5 – finally here?

The world of the web is changing, perhaps more now than ever. With vast numbers of people now regularly online the web is no longer the province of geeks and academics, but a valuable part of everyday life for many. So it stands to reason that the web itself – and the collection of technologies that make modern websites possible – will evolve. One of the biggest evolutions, in my opinion, is HTML5.

First, some history. HTML is the main language of the web, it’s what makes web pages work. It’s been around for a long time, originally being developed to provide a way to markup – that is, describe the structure of – documents online back in 1991. Tim Berners-Lee, called the father of the web, is director of the World Wide Web Consortium which oversees the webs continued development including HTML. The current version of HTML is 4.01, defined in December 2001, and work is continuing on version 5.

I’ve written about HTML5 a couple of times before, as I think it has massive potential to impact the web for the positive. Progress can appear slow, in fact both of those articles are from 2007, but I understand there is a huge amount of work to be done to get something off the ground. The really great news is HTML5 is already here. At least or some browsers.

If you’re lucky enough to use the latest version of Firefox, Opera or Safari, you’ve got many of the new features in HTML5 already. Bruce Lawson has been kind enough to create a page where you can test some of these, namely header, footer, aside, nav and article. Internet Explorer, the thorn in the side of every web developer, doesn’t support these new elements, so by default that test page won’t work. basically, if IE doesn’t understand those elements, you can’t style them with CSS or manipulate them with JavaScript. As John Allsop said in a recent A List Apart article:

[modern browsers having HTML5 capability] looks like an excellent start. But when we try styling, for example, section elements with CSS that looks like this:

section {color: red}

…most of the above-mentioned browsers manage to style the element, but IE7 (and so presumably 6) do not.

So we have a serious backward compatibility issue with 75% of browsers currently in use. Given the half-life of Internet Explorer, we can predict that most users will be using IE6 or IE7 even several years from now.

Unfortunately, if you are looking for alternative solutions to the CSS problem, putting class attributes on your section elements and then trying to style them using the class value won’t work in IE. Perhaps there is some kind of workaround out there, but unless there is, that looks like a deal breaker right there. However, the deal is back on. You’ll notice on Bruce’s test page it works in Internet Explorer 7 (I haven’t tested 6 yet). How? Simple, by using a JavaScript trick mentioned by Sjoerd Visscher from w3future.com. All developers need to do is “create” the new elements for IE like so (using conditional comments, as we’re tidy boys and girls):

<!-- Dirty JavaScript hack to make IE able to apply CSS to elements
that it doesn't usually know about, plus miscellaneous IE rules -->
<!--[if IE]>
<script type="text/javascript">
document.createElement('header');
document.createElement('nav');
document.createElement('article');
document.createElement('aside');
document.createElement('footer');
</script>
<style type="text/css">
header *, footer * {text-align:center;}
#wrapper {width:100%;} /* otherwise, IE halves the width of <nav>*/
</style>
<![endif]-->

That script ensures only IE browsers see it, then creates the new HTML5 elements using JavaScript. That means we can then style those elements how we wish. This, dear readers, is how a new age on the web is born.

You may think I’m making too much of this, but I am genuinely excited about the possibilities of new elements – and I’ve not yet even mentioned the audio and video elements, which do pretty much what you’d expect. For me, even a few extra semantic elements like nav and article is going to have a positive impact on the web.

Here’s a sample scenario. You go to Google (other search engines are available) and search for your favourite type of moth: Large Deathwing. The results you get back are generally pretty good, but you also get a lot of results including the word “Large” from different parts of the page. Things like “View large text size”, for example. Poor example, but you catch my drift.

With these new HTML5 elements, it’s possible that search engines will be able to ignore text in non-important sections of pages, like the navigation or any asides. Only words in valid article elements will be retrieved and displayed for your search. Well, that’s the idea. I’m not so naive to believe it will happen quickly (or even at all) but a greater amount of semantic information being built into HTML is a good thing.

I’m hopeful for the future. And as I’ve said a number of times I’m looking forward to putting this stuff into practice. Perhaps thanks to Bruce’s test above, I can start doing that for real.